檔案輸入與輸出(C++)
阿新 • • 發佈:2021-01-28
一.描述
檔案的輸入與輸出在計算機的使用過程中非常的常見,這篇文章我們只介紹一些簡單的輸入與輸出,可以對檔案進行基本的操作。首先來明確一下輸入與輸出的概念:
輸入與輸出是相對的,一般我們是一程式的控制檯作為目標;
輸出就是從程式控制臺輸出到檔案中,也就是寫入檔案(write)
輸入就是從檔案中輸出到程式控制臺,也就是讀取檔案(read)
對於C++而言,我們需要使用標頭檔案fstream。
二.寫入檔案
1)我們建立一個ofstream物件
2)使用ostream方法來寫入,通常使用<<插入運算子(文字形式寫入)或者write()(二進位制形式寫入)
示例:
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
ofstream fout;
fout.open("E:\\test.txt", ios_base::app);
//ofstream fout("E:\\test.txt", ios_base::app);
fout<<"Dout"; //寫入你想寫的內容
fout.close();
system("pause" );
return 0;
}
注意:
1)前兩行可以等效寫成註釋中的那一行。
2)open中的第二個引數ios::app,表示內容追加到文字最後,如果不加那麼每次寫入的內容都會覆蓋以前的內容。
3)注意操作完成以後一定要關閉檔案,fout.close();
ostream & write(char* buffer, int count);
二進位制輸入,buffer表示寫入檔案的二進位制資料起始位置,count表示寫入位元組的個數
三.讀取檔案
1)我們建立一個ifstream物件
2)使用o、istream方法來寫入,通常使用>>插入運算子(文字形式讀出)或者read()(二進位制形式讀出)
示例:
#include<fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
ifstream fin;
fin.open("E:\\test.txt");
//ifstream fin("E:\\test.txt");
//讀取一個字元
// char ch;
// fin>>ch;
// cout<<ch<<'\n'; //輸出這個存在ch裡的字元
char buf[50];
fin>>buf; //讀取一個單詞
cout<<buf<<'\n';
// fin.getline(buf,50); //讀取一行內容,若果不超過50個位元組的話
//cout<<buf;
fin.close();
system("pause");
return 0;
}
注意:
1)前兩行可以等效寫成註釋中的那一行。
2)可以讀取單個字元,單個單詞,一行內容
3)注意操作完成以後一定要關閉檔案,fin.close();
istream & read(char* buffer, int count);
二進位制讀取,buffer 用於指定讀取位元組的起始位置,count 指定讀取位元組的個數。同樣,該方法也會返回一個呼叫該方法的物件的引用。