std::stringstream 是 C++ 标准库中的一个非常有用的工具,它可以方便地在字符串和其他数据类型之间进行转换
<sstream> 头文件。#include<iostream>#include <sstream>#include<string>字符串拼接:使用 std::stringstream 可以方便地将多个字符串或数值拼接成一个新的字符串。std::stringstream ss;ss << "Hello, " << "World!"<< std::ends;std::string result = ss.str();字符串分割:通过设置分隔符,可以将一个字符串分割成多个子字符串。std::string input = "one,two,three";std::stringstream ss(input);std::string token;while (std::getline(ss, token, ',')) { std::cout<< token<< std::endl;}类型转换:std::stringstream 可以用于将数字转换为字符串,反之亦然。// 将整数转换为字符串int num = 42;std::stringstream ss;ss<< num;std::string num_str = ss.str();// 将字符串转换为整数std::string str_num = "123";int converted_num;std::stringstream(str_num) >> converted_num;错误处理:在使用 std::stringstream 时,要注意检查错误,例如输入不是期望的类型。std::string str_num = "not_a_number";int converted_num;std::stringstream ss(str_num);if (!(ss >> converted_num)) { std::cerr << "Error: Invalid input"<< std::endl;}重复使用:std::stringstream 对象可以通过调用 clear() 和 str("") 方法来重复使用,从而避免频繁创建和销毁对象。std::stringstream ss;ss << "First string";std::string first_str = ss.str();ss.clear();ss.str("");ss << "Second string";std::string second_str = ss.str();通过遵循这些建议,你可以更高效地使用 std::stringstream 进行数据处理。


