C ++では、ストリームの概念が導入されています。C ++のフローとは、入力デバイスから出力デバイスへの情報のプロセスを指します。C ++には、標準IOストリーム、ファイルIOストリーム、および文字列IOストリームの3つのストリームがあります。
C ++ファイルストリーム
4つのクラスがC ++から派生しています。つまり、入力ストリームistream、出力ストリームostream、ファイルストリーム基本クラスfstreambase、および文字列ストリーム基本クラスstrstreambaseです。ファイルをC ++で処理する必要がある場合は、#include<fstream>
ヘッダーファイルをインクルードする必要があります。
クラス | 説明 |
---|---|
ifstream | ファイルからデータを読み取るために使用される入力ファイルストリームを表します |
ofstream | ファイルの作成とファイルへのデータの書き込みに使用される出力ファイルストリームを表します |
fstream | データの書き込みとデータの読み取りの2つの機能を備えたExpressファイルフロー |
ファイルを開く
void open(const char* filename,openmode mode)
- ファイル名:ファイル名
- モード:ファイルを開くモード
ファイルオープンモード | 説明 |
---|---|
アプリ | 追加 |
食べた | 指定したファイルの最後にあるファイルを開きます |
に | 出力、データを読み取るためにファイルを開きます |
アウト | 入力し、いくつかのデータのためにファイルを開きます |
ファイルを開く方法が2つ以上必要な場合は、次の方法を使用できます。
ofstream outfile;
outfile.open("text.txt",ios::out | ios::app); //以打开、追加的模式进行打开
ファイルを開いた後、is_open
関数を呼び出すだけで、ファイルが正常に開かれたかどうかを判断できます。
ファイルを閉じる
void close()
データの読み取りと書き込み
C言語では、書き込み関数を使用してファイルを書き込みますが、ファイルストリームはC ++に追加されるため、ファイルの操作は非常に簡単で、ストリーム演算子を使用して操作できます。
- <<ファイルへのデータの書き込みに使用されるストリーム演算子を挿入します。
-
ストリーム読み取り演算子は、ファイル内のデータを読み取るために使用されます。
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ofstream outfile;
outfile.open("text.txt");
if(outfile.is_open())
{
cout<<"outfile open file success"<<endl;
string str;
cout<<"please enter the content: ";
cin>>str;
outfile<<str;
cout<<"write content success"<<endl;
outfile.close();
}
else
{
cout<<"outfile open file error"<<endl;
return -1;
}
ifstream infile;
infile.open("text.txt");
if(infile.is_open())
{
infile>>str;
cout<<"Read content: ";
cout<<str<<endl;
infile.close();
}
else
{
cout<<"infile open file error"<<endl;
return -1;
}
return 0;
}