Одно из моих заданий написать свою собственную оболочку UNIX. Чтобы получить ввод от пользователя, я использую fgets для захвата ввода в виде строки, но я не совсем уверен, как это работает. Когда я бегу:
char command[50];
fgets(command, sizeof(command), stdin);
printf("Your Command: %s", &command);
int length = strlen(command);
printf("Length of String: %d\n", length);
Допустим, мой вход был "выход". Стрлен говорит, что длина строки 5 символов, а не 4. Я хочу сделать это:
if( (strcmp(command, "exit")) == 0 ){
doSomething();
}
но команда никогда не совпадает со строкой, которую я хочу; как будто у него есть неизвестный характер, в котором я не уверен. Это нулевой символ в конце? Как мне изменить оператор if, чтобы проверить, что пользовательский ввод, перехваченный с помощью fgets, равен «exit»? Спасибо!