C語言中文件處理全攻略詳解
C 語言中的文件處理
在 C 語言中,您可以通過聲明類型為 FILE
的指針,并使用 fopen()
函數(shù)來創(chuàng)建、打開、讀取和寫入文件:
FILE *fptr; fptr = fopen(filename, mode);
FILE
基本上是一個數(shù)據(jù)類型,我們需要創(chuàng)建一個指針變量來使用它 (fptr
)?,F(xiàn)在,這行代碼并不重要。它只是在處理文件時需要的東西。
要實際打開文件,請使用 fopen()
函數(shù),它接受兩個參數(shù):
參數(shù) | 描述 |
---|---|
filename | 要打開的實際文件的名稱,例如 filename.txt |
mode | 一個表示您想對文件做什么(讀取、寫入或追加)的單個字符: |
w | 寫入文件 |
a | 將新數(shù)據(jù)追加到文件 |
r | 從文件中讀取 |
創(chuàng)建文件
要創(chuàng)建文件,可以在 fopen()
函數(shù)中使用 w 模式。
w 模式用于寫入文件。但是,如果文件不存在,它將為您創(chuàng)建一個文件:
FILE *fptr; // 創(chuàng)建一個文件 fptr = fopen("filename.txt", "w"); // 關(guān)閉文件 fclose(fptr);
注意:如果未指定其他信息,文件將與您的其他 C 文件位于同一目錄中。
在我們的電腦上,它看起來像這樣:
運行示例 »
提示:如果您想在特定文件夾中創(chuàng)建文件,只需提供絕對路徑:
fptr = fopen("C:\directoryname\filename.txt", "w");
關(guān)閉文件
您是否在上面的示例中注意到了 fclose()
函數(shù)
當(dāng)我們完成后,它將關(guān)閉文件
它被認(rèn)為是良好的實踐,因為它可以確保:
- 更改已正確保存
- 其他程序可以使用該文件(如果您愿意)
- 清理不必要的內(nèi)存空間
C 語言中的文件寫入
w 模式表示文件已打開用于寫入。要將內(nèi)容插入其中,可以使用 fprintf()
函數(shù),并添加指針變量 (我們示例中的 fptr
) 和一些文本:
FILE *fptr; // 以寫入模式打開文件 fptr = fopen("filename.txt", "w"); // 將一些文本寫入文件 fprintf(fptr, "Some text"); // 關(guān)閉文件 fclose(fptr);
注意:如果您寫入一個已經(jīng)存在的文件,則舊內(nèi)容將被刪除,并插入新內(nèi)容。這一點很重要,因為您可能會意外擦除現(xiàn)有內(nèi)容。
例如:
fprintf(fptr, "Hello World!");
因此,當(dāng)我們在計算機上打開文件時,它顯示 “Hello World!”
而不是 “Some text”
將內(nèi)容追加到文件
如果您想在不刪除舊內(nèi)容的情況下將內(nèi)容添加到文件,可以使用 a 模式。
a 模式將內(nèi)容追加到文件末尾:
FILE *fptr; // 以追加模式打開文件 fptr = fopen("filename.txt", "a"); // 將一些文本追加到文件 fprintf(fptr, "\nHi everybody!"); // 關(guān)閉文件 fclose(fptr);
因此,當(dāng)我們在計算機上打開文件時,它看起來像這樣:
Some text
Hi everybody!
注意:當(dāng)使用 a 模式時,fprintf()
函數(shù)不會添加新行。如果您希望在追加的內(nèi)容之前添加新行,則需要在 fprintf()
函數(shù)中手動添加它,如下所示:
fprintf(fptr, "\n%s", "Hi everybody!");
到此這篇關(guān)于C語言中文件處理全攻略詳解的文章就介紹到這了,更多相關(guān)C語言文件處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言中strcpy和strcat的使用和模擬實現(xiàn)
strcpy()?函數(shù)是?C語言中一個非常重要的字符串處理函數(shù),其功能是將一個字符串復(fù)制到另一個字符串中,strcat函數(shù)可以將一個字符串拼接到另一個字符串的末尾,本文給大家介紹了C語言中strcpy和strcat的使用和模擬實現(xiàn),需要的朋友可以參考下2024-03-03C++ 使用PrintWindow實現(xiàn)窗口截圖功能
這篇文章主要介紹了C++ 如何使用PrintWindow實現(xiàn)窗口截圖功能,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-08-08C++中CString string char* char 之間的字符轉(zhuǎn)換(多種方法)
在寫程序的時候,我們經(jīng)常遇到各種各樣的類型轉(zhuǎn)換,比如 char* CString string 之間的互相轉(zhuǎn)換,這里簡單為大家介紹一下,需要的朋友可以參考下2017-09-09c語言中字符串函數(shù)(庫函數(shù)使用)和模擬實現(xiàn)圖文教程
C語言中對字符和字符串的處理很是頻繁,但是C語言本身并沒有字符串類型,這篇文章主要給大家介紹了關(guān)于c語言中字符串函數(shù)(庫函數(shù)使用)和模擬實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-01-01C++類中const修飾的成員函數(shù)及日期類小練習(xí)
將const修飾的“成員函數(shù)”稱之為const成員函數(shù),const修飾類成員函數(shù),表明在該成員函數(shù)中不能對類的任何成員進行修改,下面這篇文章主要給大家介紹了關(guān)于C++類中const修飾的成員函數(shù)及日期類小練習(xí)?的相關(guān)資料,需要的朋友可以參考下2023-01-01C++ 內(nèi)聯(lián)函數(shù)inline案例詳解
這篇文章主要介紹了C++ 內(nèi)聯(lián)函數(shù)inline案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09