コマンド:spawnlモードは、私は自分のアプリケーションが終了した後、私は次のことをやっているDOSのターミナルセッションを復元するためにspawnl使用する
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はINTRCが含まれている両方のケースでCOM2
が含まれています-1、私は一歩の実行を実行していると、これらのコマンドが正しく実行されているように見えない、私は何をしていないのですか?
私は組み込みPC104プラットフォームでROM-DOSバージョン6.22を使用しています。
私はperrrorでチェックしSTRERRORを使用しましたが、実際のエラーは次のとおりです。
No such file or directory
しかし、なぜ?パスは、アプリケーションが起動される前に設定され、アプリケーションと同じフォルダ内のコマンドラインからmode.comにアクセスできます。
spawnlの代わりにspawnlpを使用してみましたが、これはまったく同じエラーではありません。
'spawnl'関数が失敗すると' errno'をセットしますか( '-1'を返しますか?)おそらく、 '' perror'(http://en.cppreference.com/w/c/io/perror)を使って '' errno''が失敗したことを確認しましたか? –
はい、どちらの場合も、errnoには2が含まれていますが、これはどういう意味ですか? – SPlatten
私は分かりません。エラー番号はC++仕様の一部ではありません。 'perror'を使って、エラーに関する読みやすい文字列を出力します。 –