我正在尝试通过 unix 机器上的套接字运行最小的终端 shell 程序。当我使用system("cd directory")
它时,它不起作用。所以我做了一些研究并遇到了chdir()
,看起来它会起作用。但是,当我尝试它时,它每次都给我错误。这是我的代码:
if (chdir(argument) < 0) {
send(sock, "[*] Directory does not exits!\n", strlen("[*] Directory does not exits!\n"), 0);
}
else {
string argumentString(argument);
string entireMessage = "[*] New working directory: " + argumentString;
char entireMessageChar[64];
int i;
for (i = 0; entireMessage[i] != '\0'; i++) {
entireMessageChar[i] = entireMessage[i];
}
send(sock, &entireMessage, strlen(entireMessageChar), 0);
}
谁能告诉我为什么chdir()
不更改目录?谢谢。