1.
char buff[10];
fprintf(buff,"%c:",a);
system(buff);
不能用system("%c:",a)是因为system接受字符串参数后并不把它当做格式化字符串。而scanf和fprintf是将第一个参数解释为格式化字符串的(并不是C的功能,而是在自己实现的。不过既然是标准库,将其看为C的一部分也可以)。
2.
system("md undel..\\");
就可以了。
双引号里的“\\”和上面的格式化字符串不一样,它是C的一部分。这个替换是在编译时完成的(上例是运行时完成)。"\\"通过这个语法,可以在字符串中插入“\”符号。
问题1,要用绝对路径,否则就认为是在当前目录中的。
问题2,单独的\会和后面的字符一起被系统理解为是转义字符,不会解释为斜线,要用斜线,就写成\\
md只对它的工作路径起作用。
改变它的工作路径。