Как прочитать текстовый файл в C

Kak Procitat Tekstovyj Fajl V C



Текстовые файлы являются одними из наиболее широко используемых типов файлов на компьютерах. Их можно использовать для самых разных задач, таких как хранение текстовых документов или исходных кодов программ. Они сохраняются в системе с .текст расширение. При работе с кодом C вам может понадобиться прочитать текстовый файл как часть вашего проекта или получить помощь из текстового файла. Вместо того, чтобы возвращаться к месту, чтобы прочитать текстовый файл, лучше прочитать его внутри кода.

В этой статье обсуждаются полезные способы чтения текстового файла на языке программирования C.

Чтение текстового файла в C

Существует четыре метода чтения текстового файла в C:







Метод 1: Использование функции fscanf() для чтения текстового файла в C

фсканф() function — это стандартная библиотечная функция, которая принимает массив аргументов и преобразует их в значения, которые может использовать ваша программа. Он находит строку формата внутри файла и возвращает строку формата при чтении из файла. Строка формата должна быть заключена в кавычки (« »), чтобы ваша программа не интерпретировала их как часть собственного синтаксиса.



фсканф() функция считывает данные в места, предоставленные элементами в списке-аргументов. Все записи списка аргументов должны указывать на переменные, типы которых соответствуют спецификаторам типа в строке формата.



Он дает либо EOF (конец файла), либо количество переменных с присвоенными им значениями.





Давайте рассмотрим пример чтения текстового файла с помощью фсканф() функция:

#include
внутренний основной ( )
{
ФАЙЛ * указатель = fopen ( 'имя_файла.txt' , 'р' ) ;
если ( указатель == NULL ) {
printf ( 'такого файла не существует.' ) ;
возвращаться 0 ;
}
чар буф [ 100 ] ;
пока ( фсканф ( птр, '%s' , буф ) == 1 )
printf ( '%s \n ' , буф ) ;
возвращаться 0 ;
}

В этом коде fopen() Функция используется для открытия файла под переменной указателя ptr. фсканф() Затем функция используется для чтения файла и печати его содержимого.



Выход

Способ 2: Использование функции fread() для чтения текстового файла в C

Данные из файла считываются Фред() метод и сохраняется в буфере. Элементы до подсчета считываются в буфер массива с помощью fread() функция из входного потока, который предоставляется в качестве аргумента функции.

Когда общее количество элементов успешно прочитано, возвращается объект size_t. Если это значение отличается от значения, заданного программой, либо произошла ошибка, либо был достигнут конец файла.

#include
внутренний основной ( )
{
символьный буфер [ 33 ] ;
ФАЙЛ * транслировать;
поток = fopen ( 'имя_файла.txt' , 'р' ) ;
целочисленный счет = fread ( & буфер, размер ( уголь ) , 33 , транслировать ) ;
закрыть ( транслировать ) ;
printf ( 'Данные считаны из файла: %s \n ' , буфер ) ;
printf ( 'Количество прочитанных элементов: %d' , считать ) ;
возвращаться 0 ;
}

В этом коде fopen() функция используется для открытия файла, а затем fread() Затем функция используется для чтения файла и печати его содержимого. 33 показывает количество символов, которые он будет считывать из файла.

Выход

Способ 3: Использование функции fgets() для чтения текстового файла в C

С fgets() функция, строка читается из указанного потока и сохраняется в соответствующей строковой переменной. Когда читаются (n-1) символов, символ новой строки или конец файла, или что-то из этого происходит раньше, программа завершается. Если функция выполнена успешно, возвращается та же строка. Содержимое строки сохраняется на месте, и возникает нулевой указатель, если функция достигает конца файла без прочитанных символов.

В случае сбоя он предоставляет нулевой указатель.

#include
внутренний основной ( ) {
ФАЙЛ * фп;
Чар ул [ 60 ] ;
фп = фопен ( 'файл.txt' , 'р' ) ;
если ( fp == NULL ) {
ошибка ( 'Ошибка открытия файла' ) ;
возвращаться ( - 1 ) ;
}
если ( fgets ( ул, 100 , фп ) ! =НОЛЬ ) {
ставит ( ул ) ;
}
закрыть ( фп ) ;
возвращаться ( 0 ) ;
}

В этом коде файл.txt файл открывается fopen() функционировать, а затем fgets() Затем функция используется для чтения строк в файле, а затем для их печати. 100 показывает количество строк, которые он будет считывать.

Выход

Метод 4: Использование функции fgetc() для чтения текстового файла в C

фгтек() Функция используется для чтения символов один за другим. Затем функция возвращает код ASCII прочитанного символа. Он возвращает символ, который присутствовал в указанном месте указателя файла. Затем указатель файла переходит к следующему символу. Если возникает ошибка или указатель достигает конца файла, эта функция возвращает EOF (конец файла).

#include
внутренний основной ( )
{
ФАЙЛ * фп = фопен ( 'файл.txt' , 'р' ) ;
если ( fp == NULL )
возвращаться 0 ;
делать {
символ с = fgetc ( фп ) ;
если ( феоф ( фп ) )
перерыв ;
printf ( '%с' , с ) ;
} пока ( 1 ) ;
закрыть ( фп ) ;
возвращаться ( 0 ) ;
}

файл.txt » файл открывается fopen() в этом коде под переменной-указателем fp. Затем символы файла считываются с помощью fgetc() метод, который печатает прочитанные символы.

Выход

Заключение

Чтение файлов — необходимость для каждого пользователя компьютера, а особенно для разработчика важно, чтобы он мог получить доступ к файлам с помощью своего кода. Поэтому выше в статье упоминаются 4 метода чтения текстовый файл используя язык Си. фсканф() и fread() используются для чтения файлов аналогичным образом, за исключением того, что fread() позволяет нам указать количество символов, которое пользователь хочет прочитать, в то время как fgets() используется для чтения файла построчно, и fgetc() используется для чтения файла символ за символом.