c++中stringstream的用法

在C++中,stringstream 是一个用于处理字符串流的类,它定义在 <sstream> 头文件中。stringstream 提供了方便的方法来在字符串和各种数据类型之间进行转换,以及对字符串进行格式化输入输出操作。以下是 stringstream 的常见用法:

 1. 包含头文件
首先,需要包含 <sstream>头文件,以使用 stringstream 类:

#include <sstream>


 

2. 声明 stringstream 对象
可以声明一个 stringstream 对象,用于处理字符串流:

stringstream ss;



 3. 向 stringstream 写入数据
使用 << 运算符可以将各种数据类型的值写入 stringstream 中:

int num = 123;
double pi = 3.14159;
tring str = "Hello, ";

ss << str << num << " and " << pi;

 4. 从 stringstream 读取数据
使用 >> 运算符可以从 stringstream 中读取数据到变量中:

tring result;
ss >> result;
cout << result <<endl;  // 输出: Hello, 123 and 3.14159

5. 将 stringstream 内容转换为字符串
可以使用 str() 成员函数将 stringstream 中的内容转换为一个 string:
 

stringstream ss;
ss << "This is a test.";
string str = ss.str();
cout << str << endl;  // 输出: This is a test.


 

 6. 清空stringstream
可以使用 str("") 方法清空 stringstream 的内容:
 

stringstream ss;
ss << "Some data";
ss.str("");  // 清空 stringstream


 7. 字符串分割
stringstream 还可以用于字符串分割,通过将字符串输入到 stringstream 中,然后使用 >> 运算符逐个读取分割后的部分:
 

string input = "apple banana cherry";
stringstream ss(input);
string token;

while (ss >> token) {
    cout << token << endl;
}
// 输出:
// apple
// banana
// cherry



8. 类型转换
stringstream 常用于不同数据类型之间的转换,例如将字符串转换为数字,或将数字转换为字符串:

// 将字符串转换为数字
string numStr = "42";
int num;
stringstream( numStr ) >> num;
cout << num << endl;  // 输出: 42

// 将数字转换为字符串
int number = 100;
stringstream ss;
ss << number;
string resultStr = ss.str();
cout << resultStr << endl;  // 输出: 100

通过这些方法,stringstream 为处理字符串和数据类型转换提供了强大而灵活的工具。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值