关于 C++中 数据转换为字符串 的问题

l0ong 2009-02-27 08:57:24
用sprintf 函数 和 osstringstream 方法可以把数据打印到 字符串中 ,请问这两种方法有何不同之处?

请高人从 执行机制和 安全性,效率方面 讲解以下 ,特别是安全性,
...全文
158 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutaooo 2009-03-04
  • 打赏
  • 举报
回复

建议你看一下 boost::lexical_cast 。这个就是你要的。还是放弃自己写的那个吧。你会喜欢这个的。
qjybch 2009-03-04
  • 打赏
  • 举报
回复
回复中没得方案啊
l0ong 2009-03-03
  • 打赏
  • 举报
回复
来人啊,,
l0ong 2009-03-02
  • 打赏
  • 举报
回复
我现在用的是 自己写的一个 toString()方法:


string toString(T t)
{
ostringstream os;
os.presicion(6);
os<<t;
return os.str();
}


不知道这样做有什麽隐患呢,或者有更安全的做法,请给出代码,谢谢
lzh9955 2009-02-28
  • 打赏
  • 举报
回复
mark
whillcoxdennis 2009-02-28
  • 打赏
  • 举报
回复
mk~
rgmlkthh 2009-02-28
  • 打赏
  • 举报
回复
研究得够深哇。
waizqfor 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 l0ong 的帖子:]
用sprintf 函数 和 osstringstream 方法可以把数据打印到 字符串中 ,请问这两种方法有何不同之处?

请高人从 执行机制和 安全性,效率方面 讲解以下 ,特别是安全性,
[/Quote]
其实sprintf也不安全 主要是有溢出的可能
http://book.csdn.net/bookfiles/18/10018636.shtmlLZ看看这文章
oyljerry 2009-02-27
  • 打赏
  • 举报
回复
为了更安全sprintf 已经被snprintf_s()取代..后者加强了缓冲区溢出的检测
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_4cab1a3701008g7j.html //ostringstream
http://baike.baidu.com/view/1295144.htm //sprintf

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧