fgets 函式的使用分析

2021-10-06 04:18:38 字數 1014 閱讀 6846

1、fgets函式的特點:

讀取n-1(n為陣列個數,第n個位置會自動新增『\0』)個字元,以'\n'為結束標記,並在讀取到『\n』之後,在末尾處新增'\0'構成字串;

當讀了n-1個字元後,仍未讀到'\n',也會自動新增『\0』,結束讀取。

2、fgets的返回值:

成功:返回指向該串的指標,

失敗或讀到檔案結尾返回空指標,

所以可以通過fgets的返回值來判斷檔案是否讀完

3、fgets經常用來讀取配置檔案的內容

配置檔案cfg.ini內容如下:

注意:

1)配置檔案的標題是用中括號----->這個與qsettings的格式型別完全一樣。

2)標題下內容用=賦值,中間不要加空格了,否則讀取的時候麻煩。

3)最後一行內容寫完之後一定要回車(文中可以看到是有8行)

4、fgets示例

char* func(const char *filename,const char*title,const char *key)

static char buff[1024];//定義足夠長的緩衝區來讀取每行,防止讀不全;//因為要返回char*,所以此處為static

char *p;//指向字串中『=』位置的指標

char new_title[1024]; //構造出形式

sprintf(new_title,"[%s]",title);

int length = strlen(new_title);

bool flag = false;

while(fgets(buff,1023,fp))//最多讀取1023個字元

if(flag)}}

}}void main()

fgets函式的使用

以字串為單位的i o函式 2009年12月20日 星期日 14 59 fgets從指定的檔案中讀一行字元到呼叫者提供的緩衝區中,gets從標準輸入讀一行字元到呼叫者提供的緩衝區中。include char fgets char s,int size,file stream char gets cha...

fgets()函式的使用

雖然用gets 時有空格也可以直接輸入,但是 gets 有乙個非常大的缺陷,即它不檢查預留儲存區是否能夠容納實際輸入的資料,換句話說,如果輸入的字元數目大於陣列的長度,gets 無法檢測到這個問題,就會發生記憶體越界,所以程式設計時建議使用fgets fgets 的原型為 1 include 2 c...

fread 和fgets 函式的使用

兩個函式都是對file fp 檔案進行讀取資訊,fgets是每次讀取一行,fread是一下子讀完所有的檔案內容。1 一 fread的使用 23 file fp 4int nread 5char buf 4096 6 fp fopen proc cpuinfo rb 7 nread fread buf...