Копировать данные из fstream в строковый поток без буфера?

Могу ли я каким-либо образом передать данные из 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;`

Кто-нибудь знает, как я могу записать весь файл в поток строк без использования промежуточного буфера?

21
задан kennytm 31 October 2010 в 19:01
поделиться