【发布时间】:2021-07-17 15:39:43
【问题描述】:
我想创建一个简单的 c++ 程序,改变目录。
int main(int argc, char * argv[]){
//...
char input[256];
char *command;
//read command
fgets(input, 256, stdin);
// CODE ADDED WITH HELP
command = strchr(input, '\n');
if(command){
*command = '\0';
}
// CODE ADDED WITH HELP
if(strncmp(input, "cd ",3)==0){
strtok(input, " ");
command = strtok(NULL, "\0");
if(chdir(command) != 0){
perror("Error while changing directory. Please try again!");
}
}
//...
}
在上面的程序中,您可以看到注释“CODE ADDED WITH HELP”之间的代码。这是之后添加的。该程序现在可以工作,但我试图了解为什么它现在可以工作,为什么以前不能。
如果您认为添加的代码片段我在尝试更改目录时收到错误“没有这样的文件或目录”。在我得到一些帮助并添加了几行代码后,我现在可以成功更改目录了。
我试图了解这段代码在我想要实现的目标的上下文中究竟做了什么,以及为什么没有它它就无法工作。
【问题讨论】: