C語言fgets 函式

時間 2021-09-07 13:11:08

1樓:齊弘量齊元

函式的功能是從指定的檔案中讀一個字串到字元陣列中,函式呼叫的形式為:

fgets(字元陣列名,n,檔案指標);

其中的n是一個正整數。表示從檔案中讀出的字串不超過n-1個字元。在讀入的最後一個字元後加上串結束標誌'\0'。

1)在讀出n-1個字元之前,如遇到了換行符或eof,則讀出結束。

2)fgets函式也有返回值,其返回值是字元陣列的首地址。

2樓:隆若山善適

這個有錯吧

#include

intmain()

從標準輸入獲取5個字元存到p中,然後再輸出

3樓:終周允易真

fgets()函式用於從檔案流中讀取一行或指定個數的字元,其原型為:

char

*fgets(char

*string,

intsize,

file

*stream);

引數說明:

string為一個字元陣列,用來儲存讀取到的字元。

size為要讀取的字元的個數。如果該行字元數大於size-1,則讀到size-1

個字元時結束,並在最後補充'

\0';如果該行字元數小於等於

size-1,則讀取所有字元,並在最後補充'\0'。即,每次最多讀取

size-1

個字元。

stream為檔案流指標。

【返回值】讀取成功,返回讀取到的字串,即string;失敗或讀到檔案結尾返回null。因此我們不能直接通過fgets()的返回值來判斷函式是否是出錯而終止的,應該藉助feof()函式或者ferror()函式來判斷。

注意:fgets()與gets()不一樣,不僅僅是因為gets()函式只有一個引數

file

*stream,更重要的是,fgets()可以指定最大讀取的字串的個數,杜絕了gets()使用不當造成快取溢位的問題。

c語言裡為什麼fgets很少用,C語言裡為什麼fgets很少用?

因為fgets函式只能輸入字串,而scanf 能輸入多種型別的資料,加上一般的c語言教材往往重視講授原理,而對程式健壯性 異常處理等考慮不多,所以一般資料很少提及fgets函式。scanf在獲取使用者輸入的字串時,遇到空格 製表符即終止,並在結尾自動加上 0 gets在獲取使用者輸入字串時,遇到空格...

C語言的問題,fread和fgets的區別是什麼

夜禮服假面 fread和 fgets的區別 fread 以位元組位計算長度,按照指定的長度和次數讀取資料,遇到結尾或完成指定長度讀取後停止.fgets 整行讀取,遇到回車換行或結尾停止.在文字方式時使用.讀字串函式fgets函式的功能是從指定的檔案中讀一個字串到字元陣列中,函式呼叫的形式為 fget...

c語言pow函式,C語言pow函式

丿 pow 函式用來求x的y次冪,x y及函式值都是double型 其原型為 double pow double x,double y 例項 如下 include include void main double x 2,y 10 printf f n pow x,y return 0 擴充套件資料...