在g ++中,system()函数返回-1

时间:2011-01-08 15:32:20

标签: c++ g++ system

我正在寻找C ++程序中system()返回-1的原因和案例。我处于这样一种情况,它在一个不在另一个班级的课堂上工作正常。

1 个答案:

答案 0 :(得分:5)

让我们首先考虑标准如何描述system函数返回值:

  

如果参数是空指针,则系统函数仅在a时返回非零值   命令处理器可用。 如果参数不是空指针和系统   函数确实返回,它返回一个实现定义的值

我假设您的实现是gnu libc,所以让我们参考its documentation

  

如果无法创建shell进程,则返回值为-1 ,否则为shell进程的状态。

状态 不是 命令的结果,可以使用this page中描述的工具进行解释。换句话说,除了shell进程创建失败之外,system()不应该返回-1。