1. 程式人生 > >fopen開啟檔案時位置指標的問題

fopen開啟檔案時位置指標的問題

      最近在寫一個程式是涉及到檔案的操作,其中遇到一個問題是開啟檔案後判斷檔案是否為空,剛開始想到了每次開啟檔案都是向檔案新增資料,就是以a+方式開啟,就想到用ftell函式直接得到當前位置如果不為0則說明檔案不為空,但是這樣程式執行一直沒打到想要的效果,除錯時發現開啟檔案後用ftell函式得到的當前位置值為零,自己不禁產生疑惑,後來翻了下譚浩強的《C程式設計》上面寫著“用a+方式開啟的檔案,原來的檔案不被刪除,位置指標移到檔案末尾”。為了消除疑惑自己寫程式碼測試下,看下具體情況。

   測試程式碼:

 執行結果:

  

   可以發現用fopen函式開啟檔案時,位置指標都是處在檔案開頭處,包括用a和a+方式開啟,只是在第一次寫時位置指標會移動到檔案末尾處。