您好,登錄后才能下訂單哦!
本篇內容介紹了“C語言文件怎么打開和關閉”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
文件操作重要嗎?
當然重要:如果我們想讓自己的程序擁有記憶功能,那就需要把要記憶的信息和數據存入到一個外部文件里,以便下次提取。
磁盤上的文件是文件。但在程序設計中,我們一般談的文件有兩種:程序文件、數據文件
程序文件:包括源程序文件(后綴 .c),目標文件(后綴 .obj)可執行程序(windows環境后綴為 .exe)。
數據文件:文件的內容不一定是程序,而是程序運行時讀寫的數據,比如程序運行需要從中讀取數據的文件,或則輸出內容的文件。
VS編譯器上所處理的數據的輸入和輸出都是以終端為對象的,即從終端的鍵盤上輸入輸入數據,運行結果顯示到顯示器上。但在有時候我們會把數據輸出到磁盤上,在需要的時候再從磁盤上把數據讀取到內存中使用,這里就是處理的磁盤上的文件。
文件包含三部分:文件路勁+文件名主干+文件后綴  
例如:c:\code\test.txt
根據數據的組織形式數據文件被稱為文本文件和二進制文件
ASCII文件也稱為文本文件,這種文件在磁盤中存放時每個字符對應一個字節,用于存放對應的ASCII碼
數據在內存中以二進制的形式存儲,如果不加轉換的輸出到外層,就是二進制文件
例如,數1000的存儲形式為:
ASCLL碼形式: 00110001 00110000 00110000 00110000 00110000 占5個字節
二進制形式存儲:00000000 00000000 00100111 00010000 占4個字節
我們在學習C語言文件操作時我們也要簡單的了解一下C語言的文件緩沖區概念:
緩沖區(Buffer
)又稱為緩存(Cache),是內存空間的一部分。也就是說,計算機在內存中預留了一定的存儲空間,用來暫時保存輸入或輸出的數據,這部分預留的空間就叫做緩沖區(緩存)。
在程序數據區到磁盤之間有輸出緩沖區和輸入緩沖區,這些有興趣的可以去深入了解一下
緩沖區是為了讓低速的輸入輸出設備和高速的用戶程序能夠協調工作,并降低輸入輸出設備的讀寫次數。
緩沖文件系中:關鍵的概念是“文件類型指針”,簡稱**“文件指針”**
  每個被使用的文件都在內存中開辟了一個相應的文件信息區,用來存放文件的相關信息(如:文件的名字,狀態及文件當前的位置等)。這些信息保存在一個結構體變量中的。該結構體變量是有系統申明的取名:FILE
在使用的vs2013編譯器的頭文件stdio.h有以下的文件類型聲名:
不同c編譯器的FILE所包含的內容不完全相同,但是大同小異,
每當打開一個文件的時候,系統會根據文件的情況自動創建一個FILE結構的變量,并 填充其中的信息。
一般都是通過一個FILE的指針來維護這個結構的變量。
FILE* pf;//文件指針變量
定義pf是一個指向FILE類型數據的指針變量,可以使pf指向某個文件的文件信息區(是一個結構體變量)。通過該文件信息區中的信息就可以訪問該文件。也就是說,通過文件指針變量能夠找到與它關聯的文件
文件在讀寫之前應該先打開文件,在使用結束之后應該關閉文件
編寫程序時,在打開文件的同時,都會返回一個FILE的指針變量指向該文件相當于建立了指針與文件的關系。
fopen 函數打開文件,fclose 來關閉文件
FILE *fopen(const char *filename, const char *mode); int fclose(FILE *stream);
打開文件一般有兩種方式:
當前路勁下(相對路徑)打開文件
絕對路徑打開
//以讀的方式打開 //當前路勁下(相對路徑)打開文件test.txt fopen("test.txt", "r"); //絕對路徑打開 fopen("E:\\C++file\\file\\test.txt", "r");
打開方式如下:
“r”(只讀) 為輸入打開一個已經存在的文本文件
“w”(只寫) 為輸出打開一個文本文件
“a”(追加) 向文件文件尾添加數據
“rb”(只讀) 為輸入打開一個二進制文件
“wb”(只寫) 為輸出打開一個二進制文件
“r+”(讀寫) 為讀寫打開一個文本文件
“w+”(讀寫) 為讀寫建立一個新的文本文件
“a+”(讀寫) 為讀寫打開一個文本文件
“rb+”(讀寫) 為讀寫打開一個二進制文件
“wb+”(讀寫) 為讀寫建立一個新的二進制文件
“ab+”(讀寫) 為讀寫打開一個二進制文件
注意:
用 “r” 方式打開的文件,不能向其輸入數據,并且該文件已存在,否則出錯;
用 “w” 方式打開的文件,只能向該文件輸入數據,如果所打開的文件不存在,則在打開時新建一個以指定的名字命名的文件;如果指定文件存在,則在打開時將該文件刪去,然后新建一個新的文件;
如果函數 fopen 打開文件出錯,則fopen返回一個空指針值 NULL;
在程序開始運行時,系統自動打開3個標準文件:標準輸入(stdin),標準輸出(stdout),標準出錯輸 出(stderr)。如果要使用輸入輸出終端,則不需要打開,可以直接使用,如fputc(stdout,‘a’);向屏幕輸出字符a。
以讀的形式打開文件文件必須存在
以寫的形式打開的文件,只能向該文件輸入數據,如果所打開的文件不存在,則在打開時新建一個以指定的名字命名的文件;如果指定文件存在,則在打開時將該文件刪去,然后新建一個新的文件;
“C語言文件怎么打開和關閉”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。