阅读量:0
在C++中,使用std::string
和std::istringstream
可以更安全、更方便地分割字符串
#include<iostream> #include <sstream> #include<vector> #include<string> int main() { std::string input = "This is a sample string"; std::istringstream iss(input); std::vector<std::string> tokens; std::string token; while (std::getline(iss, token, ' ')) { tokens.push_back(token); } for (const auto& t : tokens) { std::cout << t << std::endl; } return 0; }
在这个示例中,我们首先创建了一个std::istringstream
对象iss
,并将输入字符串传递给它。然后,我们使用std::getline
函数从iss
中读取以空格分隔的子字符串,并将它们存储在std::vector<std::string>
容器中。最后,我们遍历并打印分割后的字符串。
注意:std::getline
默认情况下使用换行符作为分隔符,但是在这个例子中,我们将空格作为分隔符传递给它。