我正在做一個系統調用來更改C++程序中的當前目錄,由於某種原因,第一次調用返回PERROR IN ELSE時成功,第二次返回非法查找PERROR IN ELSE(使用相同的命令和兩者調用函數將直接指向else子句)。任何想法爲什麼?謝謝。我感謝你們的幫助!調用perror()第一次成功,第二次返回ILLEGAL SEEK?
void changedir(cmd_t& command, int numArg)
{
char buffer[MAXCHAR];
if (numArg == 1){
chdir(getenv("HOME"));
perror("chdir");
getcwd(buffer, MAXCHAR);
cout << buffer << endl;
} else {
chdir(command.argv[1]);
perror("chdir");
getcwd(buffer, MAXCHAR);
cout << buffer << endl;
}
}
我不明白。 「這兩個命令都在其他語句中。」'else'中只有一個'perror'。你如何調用這個程序?你可以提交一個測試用例嗎? 「第一」和「第二」是什麼意思? –
對不起,我的不好解釋。如果沒有發生錯誤,我就知道我不應該打電話給你。 –