read()は入力ストリームからデータを読み込みます。典型的な入力ストリームはファイルです。
この関数は、取り出した文字が指定した数に達するかEOFに達するまで、ストリームから文字を読み込みます。
書式は次の通りです。
#include <iostream>
istream& istream::read( char* pch, int n );
istream& istream::read( unsigned char* puch, int n );
istream& istream::read( signed char* psch, int n );
basic_istrem& basic_istream::read(E *s, streamsize n);
pchは取り出した文字列を保存するバッファのポインタ、nは取り出すデータの文字数です。
次の例は、ファイル「test.txt」の内容を出力するプログラムの例です。
#include <fstream >
#include <iostream>
using namespace std;
int main()
{
// ストリーム(この場合はファイル)を開く
fstream fs("test.txt");
if (!fs) {
std::cerr << "ファイルを開けませんでした。" << std::endl;
return -1;
}
char c;
// データをバイトごとに読み込む
while (!fs.eof())
{
fs.read(&c, 1);
cout << c;
}
fs.close();
return 0;
}