pubsetbuf std :: stringbuf的成員在Visual Studio 2010中根本不起作用!Visual Studio std :: stringstream pubsetbuf不起作用
代碼:
char *FileData = ... ;
unsigned long long FileDataLen = ... ;
std::stringstream *SS = new std::stringstream(std::stringstream::in | std::stringstream::out);
SS->rdbuf()->pubsetbuf(FileData, (std::streamsize)FileDataLen);
pubsetbuf什麼也不做在Visual Studio!
解決方法#1:
std::stringstream *SS = new std::stringstream(std::string(FileData, (size_type)FileDataLen)),std::stringstream::in | std::stringstream::out);
解決方法#2:
SS->rdbuf()->sputn(FileData, (streamsize)FileDataLen);
但是這兩個解決方法產生不必要存儲器複印。 我絕對需要工作pubsetbuf std :: stringbuf的成員。