Я не могу понять, почему сравнение строк не сравнивается правильно. Это для C.Сравнение строк не работает правильно. C
Это чтение из файла, который настроен так:
1 - ls
2 - cd
3 - history
Если я типа с это предположить, чтобы захватить последнюю использованную строку, которая началась с «с» и запустить! команда. Тем не менее он никогда не переходит в строку if (strcmp (()) = 0).
Часть моего кода здесь:
char currLine[MAXINPUTLINE];
else if (isalpha(input[1])){
int count = 1;
fileRead = fopen(".simpleshell_history", "r");
while(fscanf(fileRead, "%s\n", currLine) != EOF){
printf(input+1);
printf(currLine);
if(strcmp((input+1), currLine) == 0){
printf("%s\n", currLine);
parse(currLine);
}
}
}
Это то, что Printf в отпечатках во время цикла, я не могу понять, как это исправить, и я застрял на нем некоторое время , Это когда я ввожу «! С»
c
1c
-c
lsc
2c
-c
cdc
3c
-c
historyc
4c
-c
!c!c
Что вы имеете на выходе? – klm123
Что значит? Прямо сейчас, предположим, нужно пойти в оператор if и вывести currLine, но это только цикл через цикл while и не входит в оператор if. – user2318083
у вас есть печатьf-s там. Что они печатают? – klm123