原型 char * fgets(char * s, int n,file *stream);
引數:
s: 字元型指標,指向儲存讀入資料的緩衝區的位址。
n: 從流中讀入n-1個字元
stream : 指向讀取的流。
返回值:
1. 當n<=0 時返回null,即空指標。
2. 當n=1 時,返回空串"".
3. 如果讀入成功,則返回緩衝區的位址。
4. 如果讀入錯誤或遇到檔案結尾(eof),則返回null.
fgets(...)讀入文字行時的兩種情況。
1。 如果n大於一行的字串長度,那麼當讀到字串末尾的換行符時,fgets(..)會返回。並且在s的最後插入字串結束標誌'\0'。 而s緩衝區剩餘的位置不會再填充。
example:
123abc
fgets(s,10,fp);
此時,讀入七個字元,123abc\n,實際上還有最後的'\0',所以,strlen(s)=7; 如果要去除末尾的\n,s[strlen(s)-1]='\0';便可。
2. 如果n小於等於一行的字串的長度,那麼讀入n-1個字元,此時並沒有讀入\n因為並沒有到行尾 ,同樣在最後會插入'\0'.
example:
123abc
char s[5];
fgets(s,5,fp);
這時讀入4個字元,123a,並沒有換行符,所以strlen(s)=4.
fgets(...)讀入整個檔案內容
#include #include #include #define max_line 1024
int main()
while(fgets(buf,max_line,fp) != null)
fclose(fp);
return 0;
}
C語言逐行讀取檔案
c語言可以說是我學習的第一門語言,不過似乎也是忘的最多的一門語言,自從因為專案需要重新拾起c語言,我的噩夢就開始了。依稀記得大二學習資料結構時程式設計解決 約瑟夫環 迷宮 等問題後的驕傲,認為c簡直就是天神一般的語言,如此強大,如此讓人著迷。後來學了c 後來開始搞.net,後來自學了css和簡要的p...
shell 逐行讀取檔案的內容
說明 shell 逐行讀取文字檔案內容。示例 讀取 etc passwd 檔案內容。1 python view plain copy bin bash ifs n 0 forline in cat etc passwd do n expr n 1 echo e n t line done 2 pyt...
C語言 讀取檔案內容
讀取檔案文字內容 要讀取的目標檔案 要讀取的目標內容 執行前請將 檔案和要讀取的檔案放在同一目錄下。include intmain void else fclose fp return0 執行結果 在該執行環境中保證能夠開啟檔案,保持這樣的檔名的最大長度所需的陣列元素個數。fgetc函式 標頭檔案原...