在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
来处理字符串和数据类型转换。