spawl 和模式命令

spawnl and mode commands

我想在我的应用程序完成后使用 spawnl 恢复 DOS 终端会话,我正在执行以下操作:

    static char* pszMode = "mode.com";
    int intRC = spawnl(P_WAIT, pszMode, pszMode, "co80", NULL);
    char szCOM2setup[80];
    sprintf(szCOM2setup, "%s:9600,n,8,1", clsPort::mpcszCOM2);
    intRC = spawnl(P_WAIT, pszMode, pszMode, szCOM2setup, NULL);

mpcszCOM 包含 COM2

在这两种情况下,intRC 都包含 -1,我单步执行,但看起来这些命令没有正确执行,我还没有做什么?

我在嵌入式 PC104 平台上使用 ROM-DOS 版本 6.22。

我用 perrror 和 strError 检查过,实际错误是:

    No such file or directory

但是为什么呢?该路径是在应用程序启动之前设置的,并且 mode.com 可以从与应用程序相同的文件夹中的命令行访问。

尝试使用 spawnlp 而不是 spawnl,同样的错误没有更好的办法。

由于我不明白的原因,即使路径设置正确,应用程序仍在返回 "No such file or directory" 所以我修改了应用程序以包含路径,这解决了问题。