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 未被识别为内部或外部命令。

但是当我尝试它在cmd(具有管理员权限)中输入“D:\mysql\bin\mysqldump.exe dbname -u root -p > C:\db_backup.sql”时它起作用了。

以及如何以管理员权限执行该 cmd 命令?

4

2 回答 2

0

在 C 字符串中,反斜杠是一个元字符,表示后面的任何字符都不同。最明显的例子是\n,它被替换为回车符。

当您真正希望在字符串中使用反斜杠时,您必须指定\\.

于 2013-10-27T13:05:36.070 回答
0

问题是 C 将 \ 解释为转义序列,因此您必须将 C 中字符串中的所有 \s 替换为\\s。

(在其他基于 C 的编程语言中也是如此。)

于 2013-10-27T13:05:40.373 回答