Чтение из файла - PullRequest
       1

Чтение из файла

1 голос
/ 21 августа 2010

привет, у меня проблема с чтением из файла, я пытаюсь прочитать из файла, используя fscanf(), и я не могу решить это.я пытаюсь читать файл построчно и помещать строку в переменную (буфер) каждый раз, но не могу понять, как должен выглядеть цикл while, заранее спасибо

файл, который я хочуread from - это текстовый файл в следующем формате: первая строка: «1234, abc и т. д.», вторая строка: «2432, fjh и т. д.» и другие строки, подобные тем, которые я хочу использовать в методе fscanf, чтобы поместить их в каждыйЗацикливание всей строки позволяет сказать «1234, abc и т. д.» в моей строковой переменной и так далее, пока у меня не останется больше строк для чтения из

, это то, что мне удалось собрать до сих пор (конечно, это неточный способ написать это):

char* buffer[100]; 
while (fscanf(FILE *finput,"%s",buffer)!=something) 
{ 
    printf("%s",buffer); 
}

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

1 Ответ

3 голосов
/ 21 августа 2010

Я чувствую, что вы должны сначала прочитать некоторые из этих замечательных тем:

Не удается прочитать строку с помощью fscanf ()

Чтение файла с использованием fscanf () в C

fscanf несколько строк [c ++]

Существует множество причин, по которым вы должны использовать fgets или что-то еще.

Цитирование из этого места :

fscanf () является полевой функцией и не подходит для использования в надежном универсальном устройстве для чтения текстовых файлов. У него есть два основных недостатка:

  • Необходимо заранее знать точную разметку данных входного файла и переписать вызов функции для каждой разной разметки.
  • Трудно читать текстовые строки, содержащие пробелы, потому что fscanf () видит пробелы в качестве разделителей полей.

Если вы знаете размер файла, который вы пытаетесь прочитать, вы можете использовать fread (), который ориентирован на блок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...