stringstream可高效分割字符串,示例用>>提取空白分隔内容,或getline配合自定义分隔符如逗号,支持过滤空项,适用于解析CSV等场景,需注意clear重置状态。

在C++中,使用stringstream是一种常见且高效的方式处理字符串分割。它能自动按空白字符(空格、换行、制表符)拆分字符串,并支持逐个提取子串。这种方法不需要引入额外库,代码简洁易懂。
stringstream的基本用法
stringstream是C++标准库中的一个类,定义在
通过操作符,可以从stringstream中依次提取以空白符分隔的内容。
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
int main() {
std::string str = "apple banana cherry";
std::stringstream ss(str);
std::string word;
std::vector<std::string> result;
while (ss >> word) {
result.push_back(word);
}
for (const auto& w : result) {
std::cout << w << std::endl;
}
return 0;
}
登录后复制
输出结果为每行一个单词:
applebanana
cherry
指定自定义分隔符进行分割
默认情况下,stringstream以空白字符作为分隔符。如果需要使用其他分隔符(如逗号、分号等),可以通过getline()函数配合指定的分隔符实现。
例如,分割以逗号分隔的字符串:
标签: word app csv ai c++ ios apple stream 标准库
还木有评论哦,快来抢沙发吧~