stringstream如何使用

avatar
作者
筋斗云
阅读量:0

stringstream 是 C++ 中的一个类,它位于 <sstream> 头文件中。这个类允许你在内存中读写字符串,就像操作文件一样。它常常用于处理字符串格式的数据,比如将一个整数和一个字符串组合成一个复杂的字符串。

下面是一些基本的使用示例:

1. 包含头文件

#include <iostream> #include <sstream> #include <string> 

2. 创建一个 stringstream 对象

std::stringstream ss; 

3. 使用 << 运算符向 stringstream 写入数据

ss << "Hello, " << "World!" << std::ends;  // 注意 std::ends 用于添加一个空行 

4. 使用 >> 运算符从 stringstream 读取数据

std::string str; int num;  ss >> str >> num;  // 从 stringstream 中读取一个字符串和一个整数  std::cout << "String: " << str << ", Number: " << num << std::endl; 

在这个例子中,str 变量将存储 “Hello, World!”,而 num 变量将存储 0(因为这里没有明确指定要读取的整数值,所以默认读取的是 0)。

5. 其他一些有用的成员函数

  • str():返回 stringstream 中存储的字符串。
  • clear():清除 stringstream 中的所有错误标志。
  • fail():检查 stringstream 是否遇到了错误。
  • eof():检查是否已经读取到了 stringstream 的末尾。

例如:

std::stringstream ss; ss << "123 456 789";  int a, b, c; ss >> a >> b >> c;  if (!ss.fail()) {     std::cout << "a: "<< a << ", b: "<< b << ", c: "<< c << std::endl; } else {     std::cout << "Error occurred while reading." << std::endl; } 

在这个例子中,ss.fail() 将返回 false,因为读取操作成功完成了。如果在读取过程中遇到错误,fail() 将返回 true

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!