我正在进行系统调用以更改C ++程序中的当前目录,并且由于某种原因,第一次调用会在PERROR IN ELSE中返回成功,而第二次调用会在PERROR IN ELSE中返回非法搜索(使用相同的命令和两个函数调用都将直接指向else子句)。知道为什么吗?谢谢。我感谢你们的帮助!
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;
}
}