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

How to convert a string to a series of integers?

本文关键字:一系列 整数 转换 字符串      更新时间:2023-10-16

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

我只是想知道如何实现它的大思路。例如,我可以使用strtok(即我相信这只适用于cstring)或其他c++函数来完成这一点吗?

这里有一个解决方案:

#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;
}