从C++;程序 编写以下简单的C++程序,学习如何从C++程序调用Linux命令(使用系统命令)< /P> 请告诉我为什么我会从C++编译器中出错?我的程序怎么了 更多exm2.cc #包括 #包括 int main() { 系统(“echo-n'1.当前目录为“;pwd”); 系统(“mkdir temp”); 系统(); 系统(); 系统(“echo-n'3.当前目录为“;pwd”); 返回0; } [root@linux/tmp]#g++-Wall exm2.cc-o exm2.end /usr/include/stdlib.h:在函数גint main()ג中: /usr/include/stdlib.h:738:错误:参数太少,无法运行int系统(con exm2.cc:7:错误:此时在文件中 /usr/include/stdlib.h:738:错误:参数太少,无法运行int系统(con exm2.cc:8:错误:此时在文件中
如果没有从C++;程序 编写以下简单的C++程序,学习如何从C++程序调用Linux命令(使用系统命令)< /P> 请告诉我为什么我会从C++编译器中出错?我的程序怎么了 更多exm2.cc #包括 #包括 int main() { 系统(“echo-n'1.当前目录为“;pwd”); 系统(“mkdir temp”); 系统(); 系统(); 系统(“echo-n'3.当前目录为“;pwd”); 返回0; } [root@linux/tmp]#g++-Wall exm2.cc-o exm2.end /usr/include/stdlib.h:在函数גint main()ג中: /usr/include/stdlib.h:738:错误:参数太少,无法运行int系统(con exm2.cc:7:错误:此时在文件中 /usr/include/stdlib.h:738:错误:参数太少,无法运行int系统(con exm2.cc:8:错误:此时在文件中,c++,C++,如果没有char*参数,就不能使用system() 因此,这些陈述是错误的: system(); system(); 如果你不打算做任何东西,就不要把任何东西放在里面。系统接受一个常量char*。你调用它5次,没有传递任何东西给它两次。系统()接受一个参数,你可以用空字符串调用它: #include <stdio.h> #include <stdlib.h> int main() { system("echo -n '1. Current Directory is
char*
参数,就不能使用system()
因此,这些陈述是错误的:
system();
system();
如果你不打算做任何东西,就不要把任何东西放在里面。
系统
接受一个常量char*
。你调用它5次,没有传递任何东西给它两次。系统()接受一个参数,你可以用空字符串调用它:
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("echo -n '1. Current Directory is '; pwd");
system("mkdir temp");
system("");
system("");
system("echo -n '3. Current Directory is '; pwd");
return 0;
}
#包括
#包括
int main()
{
系统(“echo-n'1.当前目录为“;pwd”);
系统(“mkdir temp”);
系统(“”);
系统(“”);
系统(“echo-n'3.当前目录为“;pwd”);
返回0;
}
但是您也可以不使用这些行:-)函数需要一个参数。
尝试删除第7行和第8行
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("echo -n '1. Current Directory is '; pwd");
system("mkdir temp");
system("echo -n '3. Current Directory is '; pwd");
return 0;
}
#包括
#包括
int main()
{
系统(“echo-n'1.当前目录为“;pwd”);
系统(“mkdir temp”);
系统(“echo-n'3.当前目录为“;pwd”);
返回0;
}
在发布之前,您是否阅读了错误消息?上面说明了问题所在。您通过system()执行的任何操作都不需要通过system完成。请参阅getcwd()、mkdir()等。system()非常不可移植,但整洁的面具,直到运行时间。我很抱歉,但这是第一个在C++ +再次道歉和感谢您的伟大。remark@jon-您打算让行system();
做什么?将其更改为system(“”;
将消除“参数太少”的问题是的,你说得对,我接受你的评论,从现在起我将用“.cpp”,thanx来写名字allot@jon他说的不正确,C++源文件可以有你想要的扩展。一些扩展比其他的更常见。“.cp”和“.cc”都是完全可以接受的,并且都被广泛使用。@PigBen好的,谢谢你的纠正,能从世界上最好的开发人员那里得到专业的答案真是太好了,谢谢again@PigBen我不知道.cc
,谢谢
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("echo -n '1. Current Directory is '; pwd");
system("mkdir temp");
system("echo -n '3. Current Directory is '; pwd");
return 0;
}