fgets返回有兩種情況,一種是成功的讀到了一整行。另一種是讀取的字符數(shù)達(dá)到了第二個參數(shù)的值,這里就是n。
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序制作、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。
stream為文件流指針。【返回值】讀取成功,返回讀取到的字符串,即string;失敗或讀到文件結(jié)尾返回NULL。因此我們不能直接通過fgets()的返回值來判斷函數(shù)是否是出錯而終止的,應(yīng)該借助feof()函數(shù)或者ferror()函數(shù)來判斷。
緩沖區(qū)總是以NULL字符結(jié)尾,對fgets的下一次調(diào)用會繼續(xù)讀該行。函數(shù)成功將返回stream,失敗或讀到文件結(jié)尾返回NULL。因此不能直接通過fgets的返回值來判斷函數(shù)是否是出錯而終止的,應(yīng)該借助feof函數(shù)或者ferror函數(shù)來判斷。
1、fgets為stdin.h頭文件中聲明的,從文件中讀取字符串的函數(shù)。原型:char *fgets(char *buf, int bufsize, FILE *stream);參數(shù):buf: 指向用來存儲字符串的內(nèi)存位置。bufsize: 讀取數(shù)據(jù)的大小。stream: 將要讀取的文件流。
2、從流中讀一行或指定個字符,原型是char*fgets(char*s,intn,F(xiàn)ILE*stream);從流中讀取n-1個字符,除非讀完一行,參數(shù)s是來接收字符串,如果成功則返回s的指針,否則返回NULL。
3、fgets(str1,11,stdin); -- fgets 從文件輸入流讀取一行字符串(分隔符是換行鍵),包括空白到 str1 里。stdin 表示標(biāo)準(zhǔn)輸入流,就是鍵盤輸入。11 (實際上用10) 是 最多讀入的字符個數(shù)。
4、fgets()函數(shù)用于從文件流中讀取一行或指定個數(shù)的字符,其原型為:char fgets(char string,int size,F(xiàn)ILE stream);參數(shù)說明:string為一個字符數(shù)組,用來保存讀取到的字符。size為要讀取的字符的個數(shù)。
你的第二行應(yīng)該沒有回車加換行的,文件結(jié)尾有EOF,至于怎么讀取三個字符的不用深究吧,有輸入緩沖區(qū) 。
先用getline或fgets讀取數(shù)據(jù)到一個字符串中,這個串定義的長一點,保證夠用就行。舉例:char str[1024]。fgets( str , sizeof(str), fp ),//fp打開的文件指針。
讀取的數(shù)據(jù)保存在buf指向的字符數(shù)組中,每次最多讀取bufsize-1個字符(第bufsize個字符賦\0),如果文件中的該行,不足bufsize個字符,則讀完該行就結(jié)束。
fgets()函數(shù)原型char *fgets(char *buf, int bufsize, FILE *stream);參數(shù)*buf: 字符型指針,指向用來存儲所得數(shù)據(jù)的地址。bufsize: 整型數(shù)據(jù),指明存儲數(shù)據(jù)的大小。*stream: 文件結(jié)構(gòu)體指針,將要讀取的文件流。
名稱欄目:c語言庫函數(shù)fgets c語言庫函數(shù)大全
瀏覽路徑:http://chinadenli.net/article19/dehijdh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計公司、域名注冊、Google、網(wǎng)站策劃
聲明:本網(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)