关于C语言执行CMD命令的问题

2024-11-14 11:23:35
推荐回答(3个)
回答(1):

1.
char buff[10];
fprintf(buff,"%c:",a);
system(buff);
不能用system("%c:",a)是因为system接受字符串参数后并不把它当做格式化字符串。而scanf和fprintf是将第一个参数解释为格式化字符串的(并不是C的功能,而是在自己实现的。不过既然是标准库,将其看为C的一部分也可以)。

2.
system("md undel..\\");
就可以了。
双引号里的“\\”和上面的格式化字符串不一样,它是C的一部分。这个替换是在编译时完成的(上例是运行时完成)。"\\"通过这个语法,可以在字符串中插入“\”符号。

回答(2):

问题1,要用绝对路径,否则就认为是在当前目录中的。

问题2,单独的\会和后面的字符一起被系统理解为是转义字符,不会解释为斜线,要用斜线,就写成\\

回答(3):

md只对它的工作路径起作用。
改变它的工作路径。