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