如何将字符串转换为一系列整数?

时间:2013-04-04 22:59:35

标签: c++ string type-conversion

制作RPG并希望货币以铂金,黄金,白银和铜代表。不幸的是,我的教授希望将货币存储为字符串(即字符串类,而不是cStrings)。例如 - 0.1.23.15将是0铂,1金,23银和15铜。

我想知道如何实现这个的重要思想。例如 - 我可以使用strtok(即我相信这只适用于cStrings)或其他一些C ++函数来实现这一目标吗?

1 个答案:

答案 0 :(得分:3)

这是一个解决方案:

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

using namespace std;


int main()
{
    string str="0.1.23.15",temp;
    stringstream s(str);
    vector<int> v;

    while(getline(s,temp,'.'))
    {
        v.push_back(stoi(temp));
    }

    for(int i: v) cout << i << endl;//C++11 style
    //for(int i=0; i<v.size(); i++) cout << v[i] << endl; //Old school :D
    system("pause");
    return 0;
}