C說話 文件的翻開與封閉詳解及示例代碼。本站提示廣大學習愛好者:(C說話 文件的翻開與封閉詳解及示例代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話 文件的翻開與封閉詳解及示例代碼正文
在C說話中,文件操作都是由庫函數來完成的,這節引見文件的翻開和封閉。
文件的翻開(fopen函數)
fopen() 函數用來翻開一個文件,它的原型為:
FILE *fopen(char *filename, char *mode);
filename為文件名(包含文件途徑),mode為翻開方法,它們都是字符串。fopen() 會獲得文件信息,包含文件名、文件狀況、以後讀寫地位等,並將這些信息保留到一個FILE類型的構造體變量中,然後將該變量的地址前往。
FILE是在stdio.h頭文件中界說的一個構造體,用來保留文件信息。
假如願望吸收 fopen() 的前往值,就須要界說一個 FILE 類型的指針。例如:
FILE *fp = ("demo.txt", "r");
表現以“只讀”方法翻開以後目次下的 demo.txt 文件,並使 fp 指向該文件,如許便可以經由過程 fp 來操作 demo.txt 了。fp 平日被
稱為文件指針。又如:
FILE *fp = fopen("D:\\demo.txt","rb");
表現以二進制方法翻開 D 盤下的 demo.txt 文件,許可讀和寫。
翻開方法(mode)有多種,見下表:
文本文件和二進制文件的差別請檢查:C說話fopen()翻開文本文件與二進制文件的差別
幾點解釋
1) 文件翻開方法由r、w、a、t、b、+ 六個字符拼成,各字符的寄義是:
2) 假如沒有“b”字符,文件以文本方法翻開。
3) 凡用“r”翻開一個文件時,該文件必需曾經存在。
4) 在翻開一個文件時,假如失足,fopen將前往一個空指針值NULL。在法式中可以用這一信息來辨別能否完成翻開文件的任務,並作響應的處置。是以經常使用以下法式段翻開文件:
if( (fp=fopen("D:\\demo.txt","rb") == NULL ){ printf("Error on open D:\\demo.txt file!"); getch(); exit(1); }
這段法式的意義是,假如前往的指針為空,表現不克不及翻開D盤根目次下的 demo.txt 文件,並給出提醒信息“error on open D:\\demo.txt file!”。第3行getch()的功效是從鍵盤輸出一個字符,但不在屏幕上顯示。在這裡,該行的感化是期待,只要當用戶從鍵盤敲任一鍵時,法式才持續履行,是以用戶可應用這個期待時光浏覽失足提醒。敲鍵後履行exit(1)加入法式。
5) 把一個文本文件讀入內存時,要將ASCII碼轉換成二進制碼,而把文件以文本方法寫入磁盤時,也要把二進制碼轉換成ASCII碼,是以文本文件的讀寫要消費較多的轉換時光。對二進制文件的讀寫不存在這類轉換。
6) 尺度輸出文件 stdin(鍵盤)、尺度輸入文件 stdout(顯示器)、尺度毛病文件 stderr(顯示器)是由體系翻開的,可直接應用。
文件封閉(fclose函數)
文件一旦應用終了,應當用fclose()函數把文件封閉,以釋放相干資本,防止數據喪失。fclose() 的原型為:
int fclose(FILE *fp);
fp 為文件指針。例如:
fclose(fp);
文件正常封閉時,fclose() 的前往值為0,假如前往非零值則表現有毛病產生。
以上就是對文件的基本材料停止的詳解,後續持續彌補相干材料,感謝年夜家對本站的支撐!