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指標
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- 函式指標、回撥函式、動態記憶體分配、檔案操作函式指標記憶體
- 指標函式 和 函式指標指標函式
- 函式:file.move 移動檔案函式
- (未完成)APC函式的執行,分析 KiDeliverApc 函式函式IDE
- 函式指標函式指標
- 如何使用成員函式指標函式指標
- [C++] 成員函式指標和函式指標C++函式指標
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- 如何正確執行 DORA 指標指標
- 函式指標&回撥函式Callback函式指標
- 檔案指標指標
- c++ 函式指標C++函式指標
- 函式指標基礎函式指標
- 關於函式指標函式指標
- C++(函式指標)C++函式指標
- C++中函式指標與函式物件C++函式指標物件
- algorithm標頭檔案下的常用函式Go函式
- string.h標頭檔案(字串函式)字串函式
- cpp:"函式指標"的方法函式指標
- Rust中的函式指標Rust函式指標
- C語言 函式指標C語言函式指標
- 函式指標練習題函式指標
- 函式指標的重要用途——回撥函式函式指標
- c++如何使用pthread_join函式配合pthread_create函式來建立和等待執行緒完成,實現執行緒同步與控制C++thread函式執行緒
- 在 Linux 中如何移動檔案Linux
- perl 裡邊的 函式指標函式指標
- C++ 返回函式指標的函式C++函式指標
- C語言函式指標與回撥用函式C語言函式指標
- 如何檢測Windows服務停止後自動啟動?自動執行.bat批處理檔案?WindowsBAT
- 移動檔案
- 立即執行函式函式
- 自執行函式函式
- C++ 字元處理函式(cctype標頭檔案)C++字元函式
- Linux中如何執行.AppImage檔案LinuxAPP
- cmd中如何執行Python檔案Python