`
dewei
  • 浏览: 164419 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

stringstream 的.str()正确用法和清空操作

 
阅读更多

streamstring在调用str()时,会返回临时的string对象。而因为是临时的对象,所以它在整个表达式结束后将会被析构。

如果需要进一步操作string对象,先把其值赋给一个string变量后再操作。

 stringstream ss("012345678901234567890123456789012345678901234567890123456789");
 //错误用法
 const char* cstr2 = ss.str().c_str();
//正确用法
const string& str2 = ss.str();
const char* cstr2 = str2.c_str();



 

使用stringstream时的清空操作

在C++中可以使用stringstream来很方便的进行类型转换,字符串串接,不过注意重复使用同一个stringstream对象时要 先继续清空,而清空很容易想到是clear方法,而在stringstream中这个方法实际上是清空stringstream的状态(比如出错等),真 正清空内容需要使用.str("")方法。

 

分享到:
评论

相关推荐

    浅谈stringstream 的.str()正确用法和清空操作

    stringstream ss(012345678901234567890123456789012345678901234567890123456789); //错误用法 const char* cstr2 = ss.str().c_str(); //正确用法 const string& str2 = ss.str(); const char* cstr2 = str2.c_

    C++风格的几种IO流

    C++风格的IO流在使用中更加灵活和方便,它通过一系列的类和操作符重载实现了对不同类型数据的输入输出操作。本文将详细介绍C++风格的三种IO流对象:istringstream、ostringstream和stringstream,它们都包含在头文件...

    c++中string的用法.docx

    - 当需要频繁地进行字符串拼接时,使用`std::stringstream`可能会更高效,因为它避免了频繁的内存重新分配。 总的来说,`std::string`类在C++中提供了强大且安全的字符串处理功能,简化了字符串操作,并且符合C++...

    C#操作txt文件,进行清空添加操作的小例子

    在C#编程中,操作文本文件是常见的任务之一,如标题和描述所示,本文将详细介绍如何使用C#来清空并添加内容到一个...通过理解这些类的工作原理和正确使用它们,你可以轻松地实现对TXT文件的清空和添加内容等常见操作。

    C++字符串常用操作函数讲解.rar

    在C++中,`std::string`类是C++标准库的一部分,它提供了一种方便的方式来处理和操作字符串。与C语言中的字符数组不同,`std::string`提供了许多内置的方法,使得字符串操作更加安全和高效。 1. **构造字符串**: ...

    完整的java俄罗斯方块源代码

    String strInt = String.valueOf(g); if (strInt.length() > read().length()) { try { FileWriter fOut = new FileWriter(file); BufferedWriter bout = new BufferedWriter(fOut); bout.write(strInt); ...

    c# 加密和解密相关代码

    序中判断是否为数字的方法有很多种,可以使用正则表达式、int.Parse 方法和double.Parse 方法等。下面的代码 通过double.Parse 方法判断textBox1 文本框中的输入是否为数字。 double.Parse(textBox1.Text); 实例573 ...

    文件的增删改查

    - 通过使用`ByteArrayOutputStream`和`ByteArrayInputStream`可以有效地处理字节流的读写操作。 ### 三、文件内容清空 #### 1. 文件内容清空的基本方法 - 重新打开文件并将空字符串写入即可达到清空的效果。 ####...

    字符串检测VC

    - **分割与合并**:`strtok()`用于按分隔符拆分字符串,`std::getline()`读取一行并去掉末尾的换行符,`std::stringstream`可以方便地将字符串转换为其他数据类型。 在实际编程中,理解并熟练运用这些字符串处理...

    重难点之javaIO流的三种分类方式.pdf

    - `Writer` 的 `write(int c)` 写入单个字符,`write(String str)` 写入整个字符串,`flush()` 清空缓冲区。 - `Reader` 的 `read()` 方法读取单个字符,同样返回 `-1` 表示到达流末尾。 **节点流**: - `...

    C#浏览器编程,学习使用

    在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义使用“CSharp浏览器”作为项目名称,如图4-2所示。 图4-2 输入新建项目的属性...

    js使用小技巧

    " 和 "?"也编码 表格行指示 <tr onmouseover="this.bgColor="#f0f0f0"" onmouseout="this.bgColor="#ffffff""> //各种尺寸 s += " 网页可见区域宽:"+ document.body.clientWidth; s += " 网页可见区域高:"+ ...

Global site tag (gtag.js) - Google Analytics