我正在做一个系统调用来更改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'。你如何调用这个程序?你可以提交一个测试用例吗? “第一”和“第二”是什么意思? –
对不起,我的不好解释。如果没有发生错误,我就知道我不应该打电话给你。 –