首页 > 编程知识 正文

can be的用法,c中substring的用法

时间:2023-05-06 03:08:47 阅读:62266 作者:3092

c中std:ostringstream输出用法1、简要介绍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 :3360 str ()返回临时对象,不能直接操作。

例如有以下误用。

const char * pBuffer=oss.str ().c_str );

请注意,pBuffer指向的内存已分解。

四.代码测试

复制代码

# 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; }运行结果如下。

转自: http://blog.csdn.net/lanxuezaipiao/article/details/16358159

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

  •  标签:  
  • can   be