我在c ++中有这个程序:
#includeusing namespace std; int main() { char buf[50]; cin.getline(buf,49); system(buf); return 0; }
当我运行并编译它并键入例如"helo"时,我的程序会输出错误:
"helo" not found.
我可以阻止显示此错误吗?有没有办法从系统命令中禁用错误?
您无法更改system
显示错误的方式.在这方面,C和C++对实现几乎没有要求,因此未指定大部分内容,以使它们尽可能灵活.
如果需要更精确的控制,则应使用运行时库或操作系统接口的功能.尝试使用linux/unix中的execvp
(参见man execvp
)或Windows系统的CreateProcess函数,它使用Windows API,可以很好地控制错误处理和其他内容.