21xrx.com
2024-09-19 09:28:15 Thursday
登录
文章检索 我的文章 写文章
C++如何将字符串转换为向量(vector)
2023-07-07 08:35:36 深夜i     --     --
C++ 字符串 转换 向量 vector

在C++中,字符串和向量(vector)是两个常见的数据结构。不过,有时候我们需要将字符串转换为向量,以便于进行更便捷的数据处理。那么,在C++中,如何进行字符串向量的转换呢?下面将为大家介绍两种常见的方法。

第一种方法是使用istringstream库函数。istringstream是C++中用于处理字符串的标准库函数,该函数可以让我们方便地将字符串转换为向量。具体实现方法如下:


#include <iostream>

#include <vector>

#include <sstream>

using namespace std;

int main() {

string str = "1 2 3 4 5"; // 字符串

vector<int> vec; // 定义一个整型向量

int num; // 定义一个整型变量

istringstream iss(str); // 定义一个字符串流

while (iss >> num) { // 从字符串流中读取数值并存入整型变量中

vec.push_back(num); // 将整型变量存入向量中

}

for (int i = 0; i < vec.size(); i++) { // 输出向量

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

}

return 0;

}

第二种方法是使用boost库函数。boost库是一个流行的C++扩展库,其中包含了一些丰富实用的函数。其中就包括了字符串向量转换函数。具体实现方法如下:


#include <iostream>

#include <vector>

#include <boost/algorithm/string.hpp>

using namespace std;

using namespace boost;

int main() {

string str = "1 2 3 4 5"; // 字符串

vector<string> strvec; // 定义一个字符串向量

vector<int> intvec; // 定义一个整型向量

split(strvec, str, is_any_of(" ")); // 将字符串按空格分割后存入字符串向量

for (int i = 0; i < strvec.size(); i++) { // 将字符串向量转换为整型向量

intvec.push_back(stoi(strvec[i]));

}

for (int i = 0; i < intvec.size(); i++) { // 输出向量

cout << intvec[i] << " ";

}

return 0;

}

无论用哪种方法进行字符串向量转换,都可以方便地将字符串转换为向量,以便进行更加便捷的数据处理。通过学习这些方法,不仅能够提高C++程序设计的技巧水平,也能够进一步深入了解这门语言,为以后的编程工作打下良好的基础。

  
  

评论区

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