系统调用在c ++中没有足够的内存

时间:2011-04-20 11:06:53

标签: c system-calls

我试图使用命令

输入文件中的文件列表
  

system(“dir * .txt / b:gen> file.txt”);

在c程序中

这给我一个错误,说“内存不足”

但是当我在cmd中编写相同的代码(dir * .txt / b:gen> file.txt)时它工作正常

并且我尝试了一些其他代码也像“cd”他们也给出了相同的错误

如果我使用perror(“error”),则显示

错误;

1 个答案:

答案 0 :(得分:1)

您无法依靠perror()正确报告使用system()开始的流程的状态。

perror()所做的只是检查errno的值,但这不是system()设置的。

请参阅documentation,了解如何从system()实际捕获状态信息。