ftell函式的原型如下:
long ftell(file *stream);
主要功能是獲取file指標在當前檔案中的位置。
但在使用文字模式開啟檔案時,ftell函式返回值不一定跟file檔案指標在檔案中的實際位置對應(因為文字模式下回車換行符會被自動翻譯,具體處理需要參考編譯器實現)。
當使用附加模式開啟檔案時,file指標指向的當前檔案位置是由最後一次檔案i/o處理決定的,不是下次可寫的檔案位置。例如,乙個檔案使用附加模式開啟,並且上次呼叫的是read函式,則當前檔案位置為下一次可讀的檔案位置。(注意使用附加模式開啟的檔案在第一次寫資料之前系統會自動把檔案指標移動到檔案末尾。)對於無任何i/o操作的、以附加模式開啟的檔案指標,預設的檔案位置是起始位置(0或seek_set)。
如果需要獲取實際的檔案大小,在以附加模式開啟的檔案時需要呼叫fseek函式,兩者配合使用才可以獲取正確的檔案大小。
更加詳細的內容可參考:ftell, _ftelli64
ftell函式使用注意事項
ftell函式的原型如下 long ftell file stream 主要功能是獲取file指標在當前檔案中的位置。但在使用文字模式開啟檔案時,ftell函式返回值不一定跟file檔案指標在檔案中的實際位置對應 因為文字模式下回車換行符會被自動翻譯,具體處理需要參考編譯器實現 當使用附加模式開啟檔...
函式使用注意事項
目錄 函式使用注意事項 1.自定義函式 1 無引數,無返回值 2 無引數,有返回值 3 有引數,無返回值 4 有引數,有返回值 5 函式名不能重複 2.函式呼叫 1 呼叫的方式 2 呼叫時,要寫實參 3 呼叫時,實參的個數和先後順序應該和定義函式中要求的一致 4 如果呼叫的函式有返回值,那麼就可以用...
sscanf 函式使用注意事項
在除錯 時,發現使用 sscanf 函式的乙個問題,在以後使用該函式時要注意避免 例如程式如下 word dwvalue cstring strbuf sscanf strbuf,d dwvalue 呼叫 sscanf strbuf,d dwvalue 後,會為dwvalue賦值,卻影響了4個位元組...