c語言按行讀取函數(shù) c語言 按行讀取

C語言怎樣一行一行讀文件?

C語言可以通過fgets函數(shù)一次讀一行數(shù)據(jù)。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的武陵源網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

fgets函數(shù)原型如下:

char *fgets(char *buf, int bufsize, FILE *stream);

參數(shù) 說明

*buf: 字符型指針,指向用來存儲所得數(shù)據(jù)的地址。

bufsize: 整型數(shù)據(jù),指明存儲數(shù)據(jù)的大小。

*stream: 文件結(jié)構(gòu)體指針,將要讀取的文件流。

fgets函數(shù)注意細(xì)節(jié)如下:

從文件結(jié)構(gòu)體指針stream中讀取數(shù)據(jù),每次讀取一行。

讀取的數(shù)據(jù)保存在buf指向的字符數(shù)組中,每次最多讀取bufsize-1個字符(第bufsize個字符賦'\0'),如果文件中的該行,不足bufsize個字符,則讀完該行就結(jié)束。

如若該行(包括最后一個換行符)的字符數(shù)超過bufsize-1,則fgets只返回一個不完整的行,但是,緩沖區(qū)總是以NULL字符結(jié)尾,對fgets的下一次調(diào)用會繼續(xù)讀該行。

函數(shù)成功將返回buf,失敗或讀到文件結(jié)尾返回NULL

C語言讀取文件內(nèi)容,按行讀

1通過fopen函數(shù)打開文本,例如file

*fp=fopen("in.txt","r");//返回一個file類型的句柄

2然后就可以通過fcanf()函數(shù)對txt文本進(jìn)行讀取

3操作完文本之后用fclose()函數(shù)

關(guān)閉已經(jīng)打開的文件。

#include

int main()

{

int data;

file *fp=fopen("in.txt","r");

if(!fp)

{

printf("can't open file\n");

return -1;

}

while(!feof(fp))

{

fscanf(fp,"%d",data);

printf("%4d",data);

}

printf("\n");

fclose(fp);

return 0;

}

C語言 如何一行行讀文件

C語言中,使用fgets函數(shù)遍可以一行行讀取文件。

1、fgets函數(shù):

原型:char

*

fgets(char

*

buf,

int

bufsize,

FILE

*

stream);

功能:從文件結(jié)構(gòu)體指針stream中讀取數(shù)據(jù),每次讀取一行。

說明:讀取的數(shù)據(jù)保存在buf指向的字符數(shù)組中,每次最多讀取bufsize-1個字符(第bufsize個字符賦值為\0)。如果該行不足bufsize個字符,則讀完該行就結(jié)束,如果該行超過bufsize-1個字符,則fgets只返回一個不完整的行,buf緩沖區(qū)以\0字符結(jié)束,下一次fgets調(diào)用會繼續(xù)讀取該行剩余的字符;

頭文件:stdio.h;

返回值:若讀入成功,返回與參數(shù)buf相同的字符指針,若讀入過程中遇到EOF或發(fā)生錯誤,返回NULL指針。所以當(dāng)遇到返回值為NULL的情況時,應(yīng)使用ferror或feof函數(shù)檢查是發(fā)生錯誤還是遇到EOF。

2、例程:

#include

int a;

char b,c[100];

int main(){

FILE * fp1 = fopen("input.txt", "r");//打開輸入文件

FILE * fp2 = fopen("output.txt", "w");//打開輸出文件

if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出

puts("不能打開文件!");

rturn 0;

}

fscanf(fp1,"%d",a);//從輸入文件讀取一個整數(shù)

b=fgetc(fp1);//從輸入文件讀取一個字符

fgets(c,100,fp1);//從輸入文件讀取一行字符串

printf("%ld",ftell(fp1));//輸出fp1指針當(dāng)前位置相對于文件首的偏移字節(jié)數(shù)

fputs(c,fp2);//向輸出文件寫入一行字符串

fputc(b,fp2);//向輸出文件寫入一個字符

fprintf(fp2,"%d",a);//向輸出文件寫入一個整數(shù)

fclose(fp1);//關(guān)閉輸入文件

fclose(fp2);//關(guān)閉輸出文件,相當(dāng)于保存

return 0;

}

當(dāng)前標(biāo)題:c語言按行讀取函數(shù) c語言 按行讀取
當(dāng)前鏈接:http://muchs.cn/article20/ddceijo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、定制開發(fā)、App設(shè)計關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)