将字符串转换为整数向量

时间:2016-12-05 23:51:44

标签: c++ string vector

我需要在C ++中创建一个函数,它接受一个只包含数字的字符串,例如:

string s = "7654321" 

并将其转换为整数向量。所以矢量应该是这样的:

vec[1] = '7'
vec[2] = '6'

我尝试使用isstringstream,但在这种情况下这没用,导致该字符串中没有空格。

1 个答案:

答案 0 :(得分:1)

您可以使用for循环遍历字符串,并使用push_back()和 - ' 0'

为每个值填充向量

假设向量vec;

void fillVec(const string str1, vector<char> & vec) {

    for(int i = 0; i < str1.length(); i++)
        vec.push_back(str1[i]) - '0';

}

实施此项目的示例程序

// Example program
#include <iostream>
#include <vector>
#include <string>

using namespace std;

void fillVec(const string, vector<int> &); 

int main()
{
  vector<int> vec;
  string str1 = "1234567";
  fillVec(str1, vec);

    for(int i = 0; i < vec.size(); i++)
    cout << vec[i] << ", ";

    return 0;


}

void fillVec(const string str1, vector<int> & vec) {

        for(int i = 0; i < str1.length(); i++)
            vec.push_back(str1[i]-'0');

}