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 擴充套件資料...