這是一個C語言按行讀取文本文件的例子。輸入一個文本文件a.txt,按行讀取文本內(nèi)容:注意,這個工具沒有處理多行(\)拼接的場景。
成都創(chuàng)新互聯(lián)從2013年開始,先為樂東黎族等服務(wù)建站,樂東黎族等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為樂東黎族企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
打開文件,如果文件未找到,報錯,結(jié)束 fopen 輸入待查的字符串,存到變量中 gets 逐行循環(huán)讀取文件,直到文件結(jié)束 fgets 檢查字符串是否在該行中,如果在,則輸出該行,關(guān)閉文件,結(jié)束。
*stream: 文件結(jié)構(gòu)體指針,將要讀取的文件流。
函數(shù)名:fgets 2 聲明形式:char *fgets(char *buf, int bufsize, FILE *stream);3 頭文件:stdio.h 4 功能及參數(shù)說明:從stream中讀取一行數(shù)據(jù)存到buf中。
首先定義文件指針 fp=fopen(文件名稱,r);然后用fseek()設(shè)置文件指針的位置;最后用fgets()得到行信息;int fseek(FILE *stream, long offset, int fromwhere);函數(shù)設(shè)置文件指針stream的位置。
char *fgets(char *buf, int bufsize, FILE *stream);參數(shù) *buf: 字符型指針,指向用來存儲所得數(shù)據(jù)的地址。bufsize: 整型數(shù)據(jù),指明存儲數(shù)據(jù)的大小。*stream: 文件結(jié)構(gòu)體指針,將要讀取的文件流。
功能與gets類似,只是源不同。fgets從fp中讀一行數(shù)據(jù)存到buf中,同時會判斷bufsize,如果一行數(shù)據(jù)的長度超過了bufsize,那么只讀入bufsize長度的數(shù)據(jù),確保不會溢出。否則讀取整行。
C語言中,使用fgets函數(shù)遍可以一行行讀取文件。fgets函數(shù):原型:char * fgets(char * buf, int bufsize, FILE * stream);功能:從文件結(jié)構(gòu)體指針stream中讀取數(shù)據(jù),每次讀取一行。
1、C語言可以通過fgets函數(shù)一次讀一行數(shù)據(jù)。fgets函數(shù)原型如下:char *fgets(char *buf, int bufsize, FILE *stream);參數(shù) 說明 buf: 字符型指針,指向用來存儲所得數(shù)據(jù)的地址。bufsize: 整型數(shù)據(jù),指明存儲數(shù)據(jù)的大小。
2、從文件讀取。對于一個被打開的文件,如果其是可讀的,那么可以通過fgets函數(shù)實現(xiàn)按行讀取。char *fgets(char *buf, int bufsize, FILE *fp);功能與gets類似,只是源不同。
3、以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數(shù)據(jù)會被加到文件尾后,即文件原先的內(nèi)容會被保留。
當(dāng)前文章:c語言讀取行函數(shù) c語言讀取文件指定行
文章轉(zhuǎn)載:http://chinadenli.net/article42/dehjohc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、外貿(mào)建站、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)