📅  最后修改于: 2023-12-03 15:00:03.135000             🧑  作者: Mango
在 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++ 程序员来说,掌握对字符串的分割是非常基本的技能。