У меня проблема с моим кодом, я пытаюсь найти строку в файле, и я могу прочитать ее, но, когда я сравниваю две строки, он принимает только последнюю из файла, равную первой строкевведено с scanf()
.
Итак, представьте, что я написал в своем файле три слова, и каждое возвращается на строку.
test
test12
test123
Если в моем scanf()
я пишу test12
Например, или test
, когда он будет читать, он вернет false для сравнения, поэтому (! == 0).Но если я напишу test123
, это сработает, потому что это последнее слово в файле, но я не знаю почему?
char word[26];
char singleLine[26];
FILE *file = fopen("bin/Release/myWords.txt", "a+");
scanf("%26s", word);
if (file != NULL) {
while (!feof(file)) {
fgets(singleLine, 26, file);
compare = strcmp(singleLine, word);
if (compare == 0) {
printf("\n%s\n",word);
}
}
fclose(file);
}