C++里如何安全地分割字符串strtok_r

   2024-09-30 2510
核心提示:在C++中,使用std::string和std::istringstream可以更安全、更方便地分割字符串#includeiostream#include sstream#includevector

在C++中,使用std::stringstd::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默认情况下使用换行符作为分隔符,但是在这个例子中,我们将空格作为分隔符传递给它。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号