0

fstream 変数には何が含まれていますか? A は fstream に関する多くのチュートリアルを見つけることができますが、実際に fstream ファイルが何であるかを示すオナはありません。はじめに宣言。ありがとう。

4

3 に答える 3

2

fstream オブジェクトは、入力 (つまり、ファイルの内容の読み取り) および出力 (つまり、ファイルへの書き込み) のためにファイルを開くために使用されます。

入力と出力を 2 つの異なるオブジェクトに分離する ifstream オブジェクトと ofstream オブジェクトもあります。これは、たとえば、フォーマットされていないファイルを読み取り、フォーマットされた出力を別のファイルに書きたい場合に便利です。

于 2010-05-06T21:24:56.590 に答える
2

fstream クラスは、ファイルの入出力を処理するオブジェクトです。これは、入力と出力の両方に使用できるという点で、ifstream オブジェクトと ostream オブジェクトの両方を 1 つにまとめたものとほとんど同じです。この小さなデモンストレーションでは、ファイルを作成してデータを書き込みます。

#include <fstream>
using namespace std;

int main()
{
fstream myFile;
myFile.open("data.txt");
myFile << "This will appear in the file.";
myFile.close();
}

fstream オブジェクトの優れた点は、ファイルのバイナリ メモリ イメージの読み取りと書き込み (ファイルのデータを編集から保護するため) に使用できることと、さまざまなフラグを設定して、fstream が入出力を処理する方法を制御できることです。例えば:

この fstream は、fout.txt のデータをクリアしてバイナリで書き込む出力ストリームです。

fstream foutOne("fout.txt", ios::binary | ios::out | ios::trunc)

この fstream は、fout.txt のデータを消去せず、代わりに末尾に追加し、バイナリで書き込む出力ストリームです。

fstream foutTwo("fout.txt", ios::binary | ios::out | ios::app)

私の記憶が正しければ、foutTwo は fout.txt が存在しない場合にクラッシュしますが、foutOne は存在しません。次のように、ファイルを開いた直後に fstream が正しくロードされたかどうかを確認できます (常に確認する必要があります)。

if(!foutTwo)
{ cout << "File open error!\n"; exit(EXIT_FAILURE); }
于 2010-05-06T21:30:55.000 に答える
0

std::fstream は、ファイルへの読み取り/書き込みアクセスをカプセル化するクラスです。これは iostream から継承されているため、すべての C++ ストリームによって提供される通常のメソッドをすべて備えており、ファイルの読み取りと書き込みを行います。詳細については、そのドキュメントと C++ マニュアルの IO に関する章を参照してください。

于 2010-05-06T21:27:38.860 に答える