您好,登錄后才能下訂單哦!
本篇內容介紹了“C語言文件操作分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
之前的函數只能實現順序讀寫,而實現隨機讀寫需用fseek函數來定位--根據文件指針的位置和偏移量來定位文件指針
int fseek(FILE* stream, long int offset, int origin);
返回值:若成功返回0,則返回非0值。
參數:stream為文件指針,offset為偏移量。origin為起始位置,有三種 SEEK_SET(文件起始的位置)、SEEK_END(文件末尾的位置)、SEEK_CUR(文件指針當前位置)。
例:test.txt文件中放的是hello world
long int ftell(FILE* stream);
返回文件指針相對于起始位置的偏移量
void rewind(FILE* stream);
讓文件的指針回到文件的起始位置
1.文本文件讀取是否結束,判斷返回值是否為EOF或NULL
如 fgetc 判斷EOF ,fgets判斷NULL
當讀取失敗和遇到文件結束的時候都會返回EOF或NULL
2.二進制文件的讀取結束判斷,判斷返回值是否小于實際要讀的個數。
如 fread 判斷返回值是否小于實際要讀的個數
當文件讀取結束時,用ferror函數和feof函數來檢查文件讀取結束的原因,是讀取失敗結束,還是遇到文件末尾結束。
int feof(FILE* stream);
如果遇到EOF讀取結束返回 非0值 ,否則返回0。
int ferror(FILE* stream);
如果讀取發生錯誤返回 非0值,否則返回0.
文本文件結束判定示例:
“C語言文件操作分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。