Cpp-sstream
1. 模块介绍
- sstream是标准库,用于字符串拼接与转换,iss流出(空格分),oss流入(转str)
- OK
2. 拼接
这个用fmt库更优雅,不用这个,标准库:std::ostringstream OSS,输出字符串流
std::ostringstream oss; // 创建字符串流
oss << '<字符串>' << <数字> << '<字符串>'; // 流入字符串
std::string res = oss.str(); // 将字符流转换为字符串
3. 字符串转数字
std::istringstream iss("42 3.14 hello"); // iss流出字符串
int i;
double d;
std::string s;
iss >> i; // i = 42
iss >> d; // d = 3.14
iss >> s; // s = "hello"
4. 数字转字符串
- oss
std::to_string(<数字>)
5. 字符串拆分
5.1 符号拆分
std::string line = "apple,banana,cherry";
std::string token;
std::vector<std::string> tokens;
// 按逗号拆分
std::istringstream iss(line);
while (std::getline(iss, token, ',')) // 以,为结尾为一行拆分iss流,取token存入数组
tokens.push_back(token);
5.2 空格拆分
std::istringstream iss("hello world foo bar");
std::string word;
while (iss >> word)
fmt::print("{}\n", word); // iss流遇到空格自带划分