fgets函式執行完成後,檔案指標如何移動?
用fgets執行之後,讀取了檔案中的一行,這時檔案位置指標是自動指向檔案的下一行的開頭嗎,還是指向當前行的結尾?如果一行的字串沒讀取完會怎樣?
例項結果:
如果一行的字串沒讀取完會,下一次會接著上一次讀取;
如果讀完了,直接從下一行開頭開始。
百度百科:
從檔案結構體指標stream中讀取資料,每次讀取一行。
讀取的資料儲存在buf指向的字元陣列中,每次最多讀取bufsize-1個字元(第bufsize個字元賦` `),如果檔案中的該行,不足bufsize個字元,則讀完該行就結束。
如若該行(包括最後一個換行符)的字元數超過bufsize-1,則fgets只返回一個不完整的行,但是,緩衝區總是以NULL字元結尾,對fgets的下一次呼叫會繼續讀該行。
函式成功將返回buf,失敗或讀到檔案結尾返回NULL。因此我們不能直接通過fgets的返回值來判斷函式是否是出錯而終止的,應該藉助feof函式或者ferror函式來判斷。
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
相關文章
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- python移動檔案指標seekPython指標
- 函式指標、回撥函式、動態記憶體分配、檔案操作函式指標記憶體
- 指標函式 和 函式指標指標函式
- fgets(),fputs(),字串函式字串函式
- 函式:file.move 移動檔案函式
- 函式指標之回撥函式和轉移表函式指標
- 函式指標函式指標
- 如何使用成員函式指標函式指標
- [C++] 成員函式指標和函式指標C++函式指標
- C語言rewind()函式:將檔案指標重新指向檔案開頭C語言函式指標
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- 函式名/函式地址/函式指標函式指標
- 宣告與函式、函式指標函式指標
- C語言fopen()函式:開啟一個檔案並返回檔案指標C語言函式指標
- 函式指標呼叫函式指標
- 如何正確執行 DORA 指標指標
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- 函式指標&回撥函式Callback函式指標
- 檔案指標指標
- (未完成)APC函式的執行,分析 KiDeliverApc 函式函式IDE
- c++ 函式指標C++函式指標
- 關於函式指標函式指標
- 指向函式的指標函式指標
- 函式指標基礎函式指標
- C++(函式指標)C++函式指標
- Nt函式原型標頭檔案函式原型
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- 如何讓bat,cmd檔案後臺執行?如何把檔案打包成EXE?BAT
- Rust中的函式指標Rust函式指標
- vector中存放函式指標函式指標
- 函式指標淺談 (轉)函式指標
- cpp:"函式指標"的方法函式指標
- 函式指標練習題函式指標
- C語言 函式指標C語言函式指標
- C++中函式指標與函式物件C++函式指標物件
- C語言lseek()函式:移動檔案的讀寫位置C語言函式
- javascript函式中的動作只有執行後才會有效JavaScript函式