日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ IO类(3) 文件流

發布時間:2024/4/18 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ IO类(3) 文件流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們可以通過文件流來控制文件的輸入以及輸出:
fstream: 創建一個未綁定的文件流
fstream fstrm("file.txt")??創建一個fstream,并打開名為s的文件 可以是字符串或指針, 可以設置打開的mode

文件流名.open("file.txt") 打開名未file.txt的文件,并將文件與fstrm綁定
文件流名.close(); 關閉指定文件

fstrm.is_open();???//bool 類型 觀察文件是否打開

假設我們要讀取一個文件中的內容,并將文件中的內容輸出到另一個文件中
具體操作如下:
首先我們創建兩個流,一個輸入流和一個輸出流:

ifstream input("myFileText.txt"); //創建一個輸入流并綁定一個指定文件,輸入流將從這個文件中讀取數據 ofstream output("myResultFile.txt"); //創建一個輸出流并綁定一個指定文件,流中的數據將輸出到這個文件

將流與文件綁定后,我們就需要一個中介來接收讀入的數據和輸出數據

string total;

注意:FSTREAM類型可以同時作輸入流和輸出流

fstream fileStream; //fstream可以同時適用istream和ostream

我們需要一個讀取函數來把文件中讀取的內容輸入到字符串中:

istream& read(istream& is, string& item) {is >> item; return is; }

然后逐行把字符串中的內容讀取到文件中:

if (input.is_open()) { //判斷是否成功打開while (read(input, total)) {cout << total << endl; //在控制臺中輸出結果Print(output, total); //將結果寫入到未}}elsecout << "open error" << endl;

最后切記要把流給關閉:

//如果流要關聯另外文件,必須先關閉當前文件input.close();output.close();

補充:文件可以設置追加模式,如追加寫模式(ostream::app)設置在open的后面

//追加寫入模式fstream myNewFile;myNewFile.open("myFileText.txt",ostream::app); //app每次寫前都定位到文件末尾for (int i = 0; i < 100; ++i) {char word = 'a';myNewFile << word;} #include<iostream> #include<fstream> #include<sstream> using namespace std; istream& read(istream& is, string& item); ostream& Print(ostream& os, const string& item);int main() {//fstream fstrm; //創建一個未綁定的文件流//fstream fstrm("file.txt"); //創建一個fstream,并打開名為s的文件 可以是字符串或指針 可以按mode的指定方式打開文件//fstrm.open("file.txt"); //打開名為s的文件,并將文件與fstrm綁定//fstrm.close(); //關閉指定文件//fstrm.is_open(); //bool類型 觀察是否打開ifstream input("myFileText.txt"); //創建一個輸入流并綁定一個指定文件,輸入流將從這個文件中讀取數據 ofstream output("myResultFile.txt"); //創建一個輸出流并綁定一個指定文件,流中的數據將輸出到這個文件string total;fstream fileStream; //fstream可以同時適用istream和ostreamfileStream.open("myFileText.txt"); //如果open成功,則open會設置流的狀態,使得good()為trueif (input.is_open()) { //判斷是否成功打開while (read(input, total)) {cout << total << endl; //在控制臺中輸出結果Print(output, total); //將結果寫入到未}}elsecout << "open error" << endl; //如果流要關聯另外文件,必須先關閉當前文件input.close();output.close();system("PAUSE");return 0; }istream& read(istream& is, string& item) {is >> item; return is; }ostream& Print(ostream& os, const string& item) {os << item << endl;return os; }

?

總結

以上是生活随笔為你收集整理的C++ IO类(3) 文件流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。