C中调用DOS命令的问题
我在turboc2.0下写一个程序,要求调用DOS的命令
# include"stdlib.h"
main()
{
char *p,c1[20],c2[20];
scanf("%s",c1);
p=c1;
system(p);
scanf("%s",c2);
p=c2;
system(p);
}
编译运行:
c: /*enter*/
dir /*enter*/
结果:显示C盘根目录下的内容,这是正确的
重新运行
c: /*enter*/
md aa /*enter*/
结果:出错
信息为:Required parameter missing
这是为什么呢??
不明白啊
大家帮忙看看
----------------解决方案--------------------------------------------------------
对于
scanf("%s",c2);
来说,它遇见空格就停止“注入”c2[]
所以,你输入
md aa
只有“md”被写入c2[],后面的aa则被废弃了。
改为
gets(c2);
一切就OK。
----------------解决方案--------------------------------------------------------
谢谢了,我居然忘了这点,总是以为不能那样使用
唉,太感激了
----------------解决方案--------------------------------------------------------