当前位置:  开发笔记 > 编程语言 > 正文

阻止以编程方式运行的系统命令的标准错误输出

如何解决《阻止以编程方式运行的系统命令的标准错误输出》经验,为你挑选了1个好方法。

我在c ++中有这个程序:

#include 
using namespace std;
int main()
{
char buf[50];
cin.getline(buf,49);
system(buf);
return 0;
}

当我运行并编译它并键入例如"helo"时,我的程序会输出错误:

  "helo" not found.

我可以阻止显示此错误吗?有没有办法从系统命令中禁用错误​​?



1> Johannes Sch..:

您无法更改system显示错误的方式.在这方面,C和C++对实现几乎没有要求,因此未指定大部分内容,以使它们尽可能灵活.

如果需要更精确的控制,则应使用运行时库或操作系统接口的功能.尝试使用linux/unix中的execvp(参见man execvp)或Windows系统的CreateProcess函数,它使用Windows API,可以很好地控制错误处理和其他内容.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有