Есть ли способ передать данные из fstream
(файла) в stringstream
(поток в памяти)?
В настоящее время я использую буфер, но для этого требуетсяУдвойте память, потому что вам нужно скопировать данные в буфер, затем скопировать буфер в поток строк, и пока вы не удалите буфер, данные дублируются в памяти.
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;`
Кто-нибудь знаетКак я могу записать весь файл в поток строк без использования промежуточного буфера?