21xrx.com
2024-11-05 16:27:13 Tuesday
登录
文章检索 我的文章 写文章
C++字符串分割并保存为向量(vector)
2023-07-11 20:17:02 深夜i     --     --
C++ 字符串 分割 向量 vector

在C++编程中,将一个字符串分割成若干段是一个常见的需求。例如,将一行数据按照逗号分隔符拆分成多个子串,或将一个网址按照斜线分隔符分成多个路径段等等。在这种场景下,我们通常考虑使用字符串分割的技巧来处理。

一种常用的字符串分割方法是使用STL(标准模板库)中的vector容器。vector容器是一个Java与C#语言中常见的数据结构,其类似于一个动态数组,可实现高效的元素访问和插入删除操作。

下面我们通过代码示例来演示如何将字符串分割并保存到vector中。


#include <iostream>

#include <vector>

#include <sstream>

using namespace std;

int main() {

  string str = "C++ is a powerful programming language";

  vector<string> vec;

  stringstream ss(str); //使用stringstream从字符串中读取数据

  string s;

  //按空格分隔字符串

  while (ss >> s) {

    vec.push_back(s);

  }

  //遍历vector

  for (int i = 0; i < vec.size(); i++) {

    cout << vec[i] << " ";

  }

  return 0;

}

上述代码中,我们首先定义一个字符串str和一个vector容器vec。然后,使用stringstream从字符串str中读取数据,并定义一个string类型的变量s,初始化为空字符串。

接下来,我们使用while循环按空格分隔字符串,将每个子串添加到vec中。最后,我们使用for循环遍历vec中的每个元素,并输出其内容。

在上述示例代码中,我们按照空格分割了字符串。我们也可以自定义分隔符,例如逗号或斜线等,只需要将分隔符作为stringstream的参数即可。

总之,使用vector容器来实现字符串分割操作既高效又方便,在C++编程中非常有用。无论是日常开发还是解决各种算法问题,都可以帮助我们快速解决各种字符串处理问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复