Я пытаюсь прочитать слова и цифры из текстового файла с пробелами и символами табуляции.Мне нужно определить строки, которые содержат «Шаг» и «Ложь».Мне также нужно хранить каждое слово или число отдельно, чтобы потом их можно было выбросить позже.
У меня возникают проблемы при попытке написать часть кода, которая идентифицирует «False» в конце строки.Мне нужно, чтобы код распознал, что он достиг False, и прервал цикл for.
Примечание. Он разработан так, что вы вводите свой собственный путь.Эта часть работает.Кроме того, я прочитал, что fscanf намного сложнее в использовании, чем fgets и fputs, но файлы данных, которые я читаю, очень согласованы по формату.Кажется, это хорошо работает для моих целей, так как некоторые записи должны быть удвоены.
int j;
int k;
char i[4];
char File_path[40];
char dummy;
char stuff[7] = "False"
printf("Input Path: ");
scanf("%s", &File_path);
printf("Reading: %s\n\n",File_path);
FILE *fp;
fp=fopen(File_path, "r");
for(j=0; j<7 && i != stuff; j++)
{
fscanf(fp,"%s",i);
fprintf(stdout,"Read: %s\n",i);
}
fclose(fp);
Файл, который я читаю:
True.0 kinda false False False
Возвращает:
Reading: c:\\Data\\1.txt
Read: True.0
Read: kinda
Read: false
Read: False
Read: False
Read: False
Read: False
Я попытался изменить значение на «Ложь», и я получил тот же результат.