我正在寻找C ++程序中system()
返回-1的原因和案例。我处于这样一种情况,它在一个不在另一个班级的课堂上工作正常。
答案 0 :(得分:5)
让我们首先考虑标准如何描述system
函数返回值:
如果参数是空指针,则系统函数仅在a时返回非零值 命令处理器可用。 如果参数不是空指针和系统 函数确实返回,它返回一个实现定义的值。
我假设您的实现是gnu libc,所以让我们参考its documentation:
如果无法创建shell进程,则返回值为-1 ,否则为shell进程的状态。
状态 不是 命令的结果,可以使用this page中描述的工具进行解释。换句话说,除了shell进程创建失败之外,system()
不应该返回-1。