Как я могу получить строки в текстовом файле


Я начал программировать на языке C, и у меня возникли некоторые проблемы с чтением текстовых файлов. Позвольте мне объяснить.

У меня есть один текстовый файл, который организован следующим образом:

Tony 
12.23
John
09.45
Tayris
03.99

Я хотел бы извлечь все ноты меньше десяти и показать их, но я не могу...

Может ли кто-нибудь помочь мне?

Большое спасибо.

2 2

2 ответа:

C предоставляет четыре функции, которые можно использовать для чтения файлов с диска:

  1. Fscanf()

    Функция, ориентированная на поле.

  2. Fgets()

    Линейно-ориентированная функция.

  3. Fgetc()

    Символьно-ориентированная функция

  4. Фрид()

    Блок-ориентированная функция.

См. эта статья для получения дополнительной информации.

Проверьте функцию fgets. Он будет возвращаться до (и в том числе) конца строкового символа (вы можете удалить его из строки назначения, если хотите).

Http://people.cs.uchicago.edu/~iancooke/osstuff/ccc.html предлагает пример:

Вот более сложный пример. Readline () использует fgets() для чтения до MAX_LINE-1 символ в поле буфер "в". Оно обнажает предшествующее пробел и возвращает указатель на первый не-пробел характер.
 char *Readline(char *in) {
   char *cptr;

   if (cptr = fgets(in, MAX_LINE, stdin)) {
     /* kill preceding whitespace but leave \n 
        so we're guaranteed to have something*/
     while(*cptr == ' ' || *cptr == '\t') {
       cptr++;
     }
     return cptr;    
    } else {
     return 0;
   }
 }
Я думаю, этого должно быть достаточно.