请问fputs(sFileBuffer.str().c_str(),fFile);这样会出问题吗?

我突然觉得stringstream很方便 ,但是由于不了解怕出问题。希望有人能给我讲讲这个的区别。我想用在文件的用它缓冲池,可以吗?这样写:std::stringstream sFileBuffer;sFileBuffer<<a<<b<<"aaaaa"<<"aaaa".....(子子孙孙无穷尽也); fputs(sFileBuffer.str().c_str(),fFile);这样会出问题吗?

慕哥9229398
浏览 144回答 1
1回答

慕桂英4014372

不是stringstream很方便,而是STL很方便.不要前面使用stringstream,后面使用C函数.你这里stringstream是多余的.可以ofstream of( pszFilename ) ;of <<a<<b<<"aaaaa"<<"aaaa".....(子子孙孙无穷尽也); //这里的数据已经到文件了.没必要中间插个stringstream.stringstream是弥补输入设备(CIN), 输出设备(COUT),外围设备(fstream)在内存设备上数据格式化上的空缺. 但是某块内存也需要这样方便的IO操作,我们可以直接定义自己的stream_buf<>类,进行直接的重载<< >> 等操作符,而像fstream那样省去stringstream.所以C++是很变态很强大的东西,它本身的特征加上STL和boost库.让它成为最"高级",而却支持最低级的操作(_asm{},指针). 加油吧.C++编程会你带来惊喜的.
打开App,查看更多内容
随时随地看视频慕课网APP