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

C++ 如何将字符串转换为一系列整数?,c++,string,type-conversion,C++,String,Type Conversion,制作RPG并希望货币以白金、黄金、白银和铜表示。不幸的是,我的教授希望将货币存储为字符串(即字符串类,而不是cstring)。例如,0.1.23.15将是0铂、1金、23银和15铜 我只想知道如何实现这一点的大思路。例如,我可以使用Strutk(即我相信这只对cScess起作用)还是其他C++函数来实现这个? 这里有一个解决方案: #include <iostream> #include <sstream> #include <vector> using n

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

我只想知道如何实现这一点的大思路。例如,我可以使用Strutk(即我相信这只对cScess起作用)还是其他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;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符串str=“0.1.23.15”,温度;
Strings(str);
向量v;
while(getline(s,temp,“.”)
{
v、 推回(stoi(温度));
}

因为(inti:v)不能使用
find
substr
,这是你的strok?这里有一个关于拆分字符串的好问题。还有一个
std::split
建议正在进行中,但我认为你的教授不能等那么久:你字符串的c_str()上的psscanf?匹配模式“%d.%d.%d.%d”+1这很好,但当您可以使用
std::cin.get()
、使用命名空间std
时,不需要系统(“暂停”),并且基于for循环的范围在技术上与它下面的常规for循环不同。