fstream
(ファイル)からstringstream
(メモリ内のストリーム)にデータを転送できる方法はありますか?
現在、私はバッファを使用していますが、データをバッファにコピーし、次にバッファを文字列ストリームにコピーする必要があるため、これには2倍のメモリが必要です。バッファを削除するまで、データはメモリに複製されます。
std::fstream fWrite(fName,std::ios::binary | std::ios::in | std::ios::out);
fWrite.seekg(0,std::ios::end); //Seek to the end
int fLen = fWrite.tellg(); //Get length of file
fWrite.seekg(0,std::ios::beg); //Seek back to beginning
char* fileBuffer = new char[fLen];
fWrite.read(fileBuffer,fLen);
Write(fileBuffer,fLen); //This writes the buffer to the stringstream
delete fileBuffer;`
中間バッファを使用せずにファイル全体を文字列ストリームに書き込む方法を知っている人はいますか?