为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

不是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++编程会你带来惊喜的.


查看完整回答
反对 回复 2022-05-30
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号