Как да прочетете текстов файл в C

Kak Da Procetete Tekstov Fajl V C



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

Тази статия обсъжда полезни начини за четене на текстов файл на езика за програмиране C.

Прочетете текстов файл в C

Има четири метода за четене на текстов файл в C, които са.







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

The fscanf() е стандартна библиотечна функция, която приема масив от аргументи и ги преобразува в стойности, които могат да се използват от вашата програма. Той намира форматиращ низ във файла и връща форматиращ низ, когато чете от файла. Низът за форматиране трябва да бъде ограден в кавички (“ ”), така че да не бъдат интерпретирани от вашата програма като част от нейния собствен синтаксис.



The fscanf() функцията чете данни на местата, предоставени от елементите в списъка с аргументи. Всички записи в списъка с аргументи трябва да сочат към променливи, чиито типове съответстват на спецификаторите на типа във форматния низ.



Той дава или EOF (край на файла), или броя на променливите със стойности, присвоени към тях.





Нека да разгледаме пример за четене на текстов файл с помощта на fscanf() функция:

#include
int main ( )
{
ФАЙЛ * ptr = fopen ( 'име_на_файл.txt' , 'р' ) ;
ако ( ptr == NULL ) {
printf ( 'не съществува такъв файл.' ) ;
връщане 0 ;
}
char buf [ 100 ] ;
докато ( fscanf ( ptr, '%с ' , буф ) == 1 )
printf ( '%с ' , буф ) ;
връщане 0 ;
}

В този код, fopen() функция се използва за отваряне на файла под променливата указател ptr. fscanf() след това се използва за четене на файла и след това отпечатване на съдържанието му.



Изход

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

Данните от файла се четат от Fread() метод и се съхранява в буфер. До брой елементи се четат в буфер на масив от страх () функция от входния поток, който се предоставя като аргумент на функцията.

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

#include
int main ( )
{
char буфер [ 33 ] ;
ФАЙЛ * поток;
поток = fopen ( 'име_на_файл.txt' , 'р' ) ;
int count = fread ( и буфер, sizeof ( въглен ) , 33 , поток ) ;
fclose ( поток ) ;
printf ( „Прочетени данни от файла: %s ' , буфер ) ;
printf ( „Брой прочетени елементи: %d“ , броя ) ;
връщане 0 ;
}

В този код, fopen() функцията се използва за отваряне на файла и след това страх () след това се използва за четене на файла и след това отпечатване на съдържанието му. 33 показва броя знаци, които ще прочете от файла.

Изход

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

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

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

#include
int main ( ) {
ФАЙЛ * fp;
char ул [ 60 ] ;
fp = fopen ( 'файл.txt' , 'р' ) ;
ако ( fp == NULL ) {
ужас ( „Грешка при отваряне на файл“ ) ;
връщане ( - 1 ) ;
}
ако ( fgets ( улица, 100 , fp ) ! =NULL ) {
поставя ( ул ) ;
}
fclose ( fp ) ;
връщане ( 0 ) ;
}

В този код, file.txt файлът се отваря от fopen() функция и след това fgets() след това се използва за четене на низовете във файла и след това за отпечатването им. 100 показва броя низове, които ще прочете.

Изход

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

The fgtec() функцията се използва за четене на знаците един по един. След това функцията връща ASCII кода на знака, който е прочела. Той връща знака, който присъства на посоченото място на указателя на файла. След това указателят на файла преминава към следващия знак. Ако има грешка или указателят достигне края на файла, тази функция връща EOF (End-Of-File).

#include
int main ( )
{
ФАЙЛ * fp = fopen ( 'файл.txt' , 'р' ) ;
ако ( fp == NULL )
връщане 0 ;
направи {
char c = fgetc ( fp ) ;
ако ( feof ( fp ) )
прекъсвам ;
printf ( '%° С' , ° С ) ;
} докато ( 1 ) ;
fclose ( fp ) ;
връщане ( 0 ) ;
}

file.txt ” файлът се отваря от fopen() функция в този код под указателната променлива fp. След това символите на файла се четат с помощта на fgetc() метод, който отпечатва прочетените знаци.

Изход

Заключение

Четенето на файлове е необходимост за всеки потребител на компютър и особено за разработчика е важно той да има достъп до файлове с помощта на своя код. Следователно 4 метода са споменати по-горе в статията за четене на a текстов файл използвайки C език. fscanf() и страх () се използват за четене на файлове по подобен начин, с изключение на това страх () ни позволява да посочим броя знаци, които потребителят иска да прочете, докато fgets() се използва за четене на файл ред по ред и fgetc() се използва за четене на файл символ по символ.