我是C++初学者.
我想创建与操作系统交互的小程序(使用Kubuntu Linux).到目前为止,我还没有找到任何教程或手册来让C++与操作系统接口.
在PHP中,我可以使用命令exec()或反引号运算符来启动通常在控制台中执行的命令.我怎样才能在C++中做类似的事情?如何让我的C++程序执行任何其他命令?如何获得这些命令的输出?
谢谢.
您可以使用system()
执行任意命令,但是,如果您想通过程序轻松控制输入和输出,您应该查看popen()
.
为了获得更多控制,您可以查看shell可能执行的操作,创建一些额外的文件描述符,分支启动另一个进程,在该进程中设置文件描述符0,1和2(输入,输出和错误)以进行连接将它们添加到原始进程文件描述符中,然后执行要控制的程序.这不适合胆小的人:-)
您可以使用该system()
命令stdlib
执行系统命令:
#includeint main() { system("ls -l"); }
system()
返回一个int
返回值,但int的值取决于系统.如果您尝试使用不存在的命令,您将获得标准的"无此命令"输出,并且通常是非零返回值.(例如,system("ls -l");
在我的Windows XP计算机上运行时返回值1.