在C++中,std::stringstream 是一个非常有用的工具,它允许你将字符串和其他数据类型进行转换,以及处理和解析字符串
<sstream> 头文件。#include<iostream>#include <sstream>#include<string>字符串流的创建:你可以创建一个 std::stringstream 对象来处理字符串。std::stringstream ss;字符串与数字之间的转换:
将数字转换为字符串:
int num = 42;std::stringstream ss;ss<< num;std::string result;ss >> result;将字符串转换为数字:
std::string str_num = "42";std::stringstream ss;ss<< str_num;int result;ss >> result;解析逗号分隔的值(CSV):
使用 std::getline() 函数结合 std::stringstream 可以方便地解析 CSV 格式的字符串。
std::string csv_line = "1,2,3,4,5";std::stringstream ss(csv_line);int value;char delimiter;while (ss >> value) { // 处理 value std::cout<< value<< std::endl; // 跳过逗号 ss >> delimiter;}处理空格分隔的字符串:
使用 operator>> 可以自动忽略空格并分割字符串。
std::string sentence = "This is a sentence.";std::stringstream ss(sentence);std::string word;while (ss >> word) { // 处理单词 std::cout<< word<< std::endl;}清空 stringstream:
如果需要重复使用同一个 std::stringstream 对象,可以使用 str() 和 clear() 方法清空它。
ss.str("");ss.clear();通过这些技巧,你可以更高效地使用 C++ 中的 std::stringstream 来处理字符串和数据类型转换。


