首页 > 编程知识 正文

sprintf的头文件,sprintf返回值

时间:2023-05-03 19:04:53 阅读:62268 作者:137

一、简单介绍

ostringstream是c的字符集操作模板类,在sstream.h头文件中定义。 ostringstream类通常用于执行c样式流的输出操作和设置字符串格式,以避免请求大量缓冲区而不是sprintf。

派生关系图:

二、ostringstream的基本使用

ostringstream构造函数格式:

explicit ostringstream (打开模式which=IOs _ base :3360 out ); explicit ostringstream (conststringstr,open mode which=IOs _ base :3360 out ); 虽然可能需要设置字符串的格式,但通常不知道缓冲区的大小。 申请很多缓冲区进行保险,防止缓冲区太小,无法存储所有字符串。 在这种情况下,请考虑使用ostringstream类。 ostringstream类根据内容自动分配内存,并正确管理内存。 要检索std:ostringstream的内容,请使用str (和str )成员函数。

三、注意事项

STD :3360 ostringstream 33603360 str ) )返回临时对象,不能直接操作。

例如有以下误用。

constchar* pBuffer=oss.str ().c_str );

请注意,pBuffer指向的内存已分解。四、代码测试

# includes stream # include string # includeiostreamusingnamespacestd; voidmain((OstringStreamostR1; //结构方式1OstringStreamOstr2(ABC ); //结构方式----------------然后-----------------------------------------------------------------返回--- /---------------- -请参阅-----------------------------//防止将当前插入的索引位置(即put pointer ) ostr2.seekp(2; put pointer的值ostr2.put('g );//在putpointer位置写入' g ',将putpointer写入下一个字符位置cout ostr2.str () endl; /------------------ -请参阅*2(str ) )以清除缓冲区,然后清除脏数据-----------------------。 cout ostr2.str () endl; ostr2.str () _def ); cout ostr2.str () endl; ostr2 'gggghh '; //复盖原始数据并自动增加缓冲区cout ostr2.str () endl的ostr2.str (' ); //如果不添加此语句,将发生运行时错误,_df的使用空间小于gggghh,因此脏数据ostr2.str(_df ); cout ostr2.str () endl; //输出随机存储器值,危险的const char* buf=ostr2.str ().c_str ); cout buf endl; //正确输出_df string ss=ostr2.str (; const char *buffer=ss.c_str (; cout buffer endl; }

执行结果如下。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。