c 文件怎么进行读取和写入操作?
C >>和<<讀寫文本文件:
fstream 或者 ifstream 類負責實現對文件的讀取,它們內部都對 >> 輸出流運算符做了重載;同樣,fstream 和 ofstream 類負責實現對文件的寫入,它們的內部也都對 << 輸出流運算符做了重載。
所以,當 fstream 或者 ifstream 類對象打開文件(通常以 ios::in 作為打開模式)之后,就可以直接借助 >> 輸入流運算符,讀取文件中存儲的字符(或字符串);當 fstream 或者 ofstream 類對象打開文件(通常以 ios::out 作為打開模式)后,可以直接借助 << 輸出流運算符向文件中寫入字符(或字符串)。
#include?
#include?
using namespace std;
int main()
{
????int x,sum=0;
????ifstream srcFile("in.txt", ios::in); //以文本模式打開in.txt備讀
????if (!srcFile) { //打開失敗
????????cout << "error opening source file." << endl;
????????return 0;
????}
????ofstream destFile("out.txt", ios::out); //以文本模式打開out.txt備寫
????if (!destFile) {
????????srcFile.close(); //程序結束前不能忘記關閉以前打開過的文件
????????cout << "error opening destination file." << endl;
????????return 0;
????}
????//可以像用cin那樣用ifstream對象
????while (srcFile >> x) {
????????sum = x;
????????//可以像 cout 那樣使用 ofstream 對象
????????destFile << x << " ";
????}
????cout << "sum:" << sum << endl;
????destFile.close();
????srcFile.close();
????return 0;
}
執行此程序之前,必須在和該程序源文件同目錄中手動創建一個 in.txt 文件,假設其內部存儲的字符串為:
10 20 30 40 50
建立之后,執行程序,其執行結果為:
sum:150
同時在 in.txt 文件同目錄下,會生成一個 out.txt 文件,其內部存儲的字符和 in.txt 文件完全一樣,讀者可自行打開文件查看。
通過分析程序的執行結果不難理解,對于 in.txt 文件中的 "10 20 30 40 50" 字符串,srcFile 對象會依次將 "10"、"20"、"30"、"40"、"50" 讀取出來,將它們解析成 int 類型的整數 10、20、30、40、50 并賦值給 x,同時完成和 sum 的加和操作。
同樣,對于每次從 in.txt 文件讀取并解析出的整形 x,destFile 對象都會原封不動地將其再解析成對應的字符串(如整數 10 解析成字符串 "10"),然后和 " " 空格符一起寫入 out.txt 文件。
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的c 文件怎么进行读取和写入操作?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工行黄金td交易规则?
- 下一篇: c程序编写x的y次方的方法