📜  cpp 按空格分割字符串 - C++ (1)

📅  最后修改于: 2023-12-03 15:00:03.135000             🧑  作者: Mango

C++ 按空格分割字符串

在 C++ 中,如果想要对字符串按照空格进行分割,可以通过使用 stringstream 和 getline 函数来实现。下面给出一个示例代码:

#include <iostream>
#include <string>
#include <sstream>
#include <vector>

int main() {
    std::string str = "hello world cpp";
    std::stringstream ss(str);
    std::vector<std::string> vec;
    std::string tmp;
    while (std::getline(ss, tmp, ' ')) {
        vec.push_back(tmp);
    }
    for (const auto& s : vec) {
        std::cout << s << std::endl;
    }
    return 0;
}

这段代码中,首先定义了一个字符串 str,它需要被按照空格分割。然后通过 stringstream 类型的 ss 对象来处理字符串,将其按照空格进行分割。

接下来,定义了一个 vector 类型的 vec,用来存储分割后的每一个字符串。然后通过 while 循环遍历分割后的每一个字符串,并将其 push_back 到 vec 中。最后通过 for 循环输出 vec 中的每一个字符串。

除了 stringstream 和 getline,还有一种方式可以实现对字符串按照空格分割,就是使用 sscanf 函数。不过 sscanf 的用法比较麻烦,不如 stringstream 和 getline 函数方便,这里就不再赘述了。

总之,对于 C++ 程序员来说,掌握对字符串的分割是非常基本的技能。