我打电话给微软的_wspawnv函数,它将errno设置为22时返回-1; errno.h将其定义为EINVAL。根据微软关于_wspawnv的文档,只有在参数mode
无效的情况下才能返回该代码。我试着用_P_WAIT和_P_NOWAIT在第一个参数中调用它,并且都返回相同的错误。 为什么微软的_wspawnv返回EINVAL?
编辑:令人惊异的是,离开一天后可以解决多少问题。我花了很长时间才意识到第二个参数中的文件名引用了它。把它们拿出来,问题解决了。
道德故事 - 不要相信文档告诉你所有的事情。我没有花太多时间仔细检查文件名,因为文档没有列出它作为可能的嫌疑,尽管错误代码暗示任何参数可能是无效的。
如果从命令行运行此程序,返回的退出代码是什么? (命令完成后,您应该能够使用echo%ERRORLEVEL%)。 – jdigital 2009-05-28 23:45:27