我正在调用 Microsoft 的 _wspawnv 函数,它不断返回 -1 并将 errno 设置为 22;errno.h 将其定义为 EINVAL。mode
根据 Microsoft 的 _wspawnv 文档,只有在参数无效时才应返回此代码。我尝试在第一个参数中使用 _P_WAIT 和 _P_NOWAIT 调用它,并且都返回相同的错误。
编辑:令人惊讶的是,离开一天可以解决多少问题。我很快就意识到第二个参数中的文件名有引号。拿出来,问题就解决了。
故事的寓意——不要相信文档会告诉你一切。我没有花很多时间仔细检查文件名,因为文档没有将它列为可能的嫌疑人,即使错误代码暗示任何参数都可能无效。