1. ホーム
  2. c++

[解決済み] C++でファイルを開くには?

2022-03-15 23:17:14

質問

C++の方法で、ファイルを読み込むために開きたいのですが。私はのためにそれを行うことができるようにする必要があります。

  • テキストファイルの場合、ある種の読み取り行機能を必要とします。

  • バイナリファイル、これは生データを char* バッファに格納されます。

解決方法は?

ニーズに応じて、3つの方法があります。昔ながらのCの方法を使って fopen / fread / fclose あるいは、C++のfstream機能( ifstream / ofstream ) を、MFC を使っている場合は CFile クラスは、実際のファイル操作を実現するための関数を提供します。

これらはすべてテキストとバイナリの両方に適していますが、特定のリードライン機能を持つものはありません。その場合、fstreamクラス(fstream.h)を使用し、ストリーム演算子(<<と>>)やread関数を使ってテキストブロックの読み取り/書き込みを行うのが最も一般的でしょう。

int nsize = 10;
std::vector<char> somedata(nsize);
ifstream myfile;
myfile.open("<path to file>");
myfile.read(somedata.data(), nsize);
myfile.close();

Visual Studio 2005以降を使用している場合、従来のfstreamは使用できない可能性があることに注意してください(Microsoftの新しい実装があり、若干異なりますが、同じことを実現します)。