ifstreamのreadメソッドファイルを読み込みます。この時に読み込まれたファイルのデータ量は、ifstreamのgcountメソッドで取得できます。
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <fstream>
/*
ファイルの読み込み
*/
int _tmain
(
int argc
, _TCHAR* argv[]
)
{
// 標準出力にユニコード出力する
setlocale( LC_ALL, "Japanese" );
/*
ファイルの読み込み
*/
{
std::string strFile;
// ファイルのオープン
std::ifstream ifstr( L"file.txt", std::ios::in | std::ios::binary );
if ( !ifstr ) {
// ファイルがオープンできなかった
std::wcout << L"ファイルオープン失敗" << std::endl;
return( - 1);
}
int nBufferSize = 1024;
// バッファの確保
char* pBuf = new char[ nBufferSize];
/*
ファイルの最後まで読み込み
*/
while( !ifstr.eof() ) {
// ファイルを読み込む
ifstr.read( pBuf, nBufferSize );
// 読み込んだサイズだけ文字列へ追加
strFile.append( pBuf, ifstr.gcount() );
}
// バッファの破棄
delete pBuf;
// 標準出力へ出力
std::cout << strFile.c_str() << std::endl;
}
// 正常終了
return( 0 );
}
ファイルを読みこみました