当前位置: 代码迷 >> C语言 >> C中调用DOS命令的问题
  详细解决方案

C中调用DOS命令的问题

热度:189   发布时间:2006-06-18 23:46:55.0
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
这是为什么呢??
不明白啊
大家帮忙看看

搜索更多相关的解决方案: DOS  命令  

----------------解决方案--------------------------------------------------------
对于
scanf("%s",c2);
来说,它遇见空格就停止“注入”c2[]
所以,你输入
md aa
只有“md”被写入c2[],后面的aa则被废弃了。
改为
gets(c2);
一切就OK。


----------------解决方案--------------------------------------------------------

谢谢了,我居然忘了这点,总是以为不能那样使用
唉,太感激了


----------------解决方案--------------------------------------------------------
  相关解决方案