Я хочу создать простую программу на С++, которая меняет каталог.
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. Это было добавлено после. Программа работает сейчас, но я пытаюсь понять, почему она работает сейчас и почему раньше не работала.
Если вы думаете, что часть кода добавлена, я получаю сообщение об ошибке Нет такого файла или каталога при попытке изменить каталог. После того, как я получил некоторую помощь и добавил пару строк кода, теперь я могу успешно менять каталоги.
Я пытаюсь понять, что именно делает этот фрагмент кода в контексте того, чего я пытаюсь достичь, и почему он не работает без него.