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