0

acプログラムを使用してmysql dbをバックアップしたかったのですが、思いついたのは次のとおりです。

     #include <stdio.h>
     #include <stdlib.h>
     main(){
      system("D:\mysql\bin\mysqldump.exe dbname -u root -p > C:\db_backup.sql");
     }

D:mysql は内部コマンドまたは外部コマンドとして認識されません」と表示されます。

しかし、試してみると、「D:\mysql\bin\mysqldump.exe dbname -u root -p > C:\db_backup.sql in cmd(管理者権限あり)」と入力されました。

また、管理者権限でその cmd コマンドを実行するにはどうすればよいですか?

4

2 に答える 2

0

C 文字列では、バックスラッシュはメタ文字であり、その後に続く文字とは異なる何かを示します。最も明白な例は\n、キャリッジ リターンに置き換えられる です。

文字列にバックスラッシュを本当に入れたい場合は、 を指定する必要があります\\

于 2013-10-27T13:05:36.070 に答える
0

問題は、C が \ をエスケープ シーケンスとして解釈するため、C の文字列内のすべての \ を s に置き換える必要があることです\\

(他の C ベースのプログラミング言語でも同じです。)

于 2013-10-27T13:05:40.373 に答える