0
我想用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包含COM2
在這兩種情況下INTRC包含-1,我單步執行,看起來這些命令沒有正確執行,我沒有做什麼?
我在嵌入式PC104平臺上使用ROM-DOS版本6.22。
我已經perrror檢查和使用STRERROR,實際的錯誤是:
No such file or directory
但是,爲什麼?在啓動應用程序之前設置路徑,並且可以通過命令行在與應用程序相同的文件夾中訪問mode.com。
嘗試使用spawnlp而不是spawnl,沒有更好的同樣的錯誤。
當'spawnl'函數失敗時返回'-1',是否設置'errno'?你有沒有檢查'errno'在失敗(可能是使用['perror'](http://en.cppreference.com/w/c/io/perror))? –
是的,在這兩種情況下errno都包含2,這是什麼意思? – SPlatten
我不知道。錯誤編號不是C++規範的一部分。使用'perror'打印關於錯誤的可讀字符串。 –