【发布时间】:2022-07-05 23:46:50
【问题描述】:
我正在尝试将字符串转换为整数并将这些数字保存到数组中,我尝试过这样
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main() {
int number[5];
string input;
//numbers
cout << "type sonme numbers"<<endl;
cin >> input;
for(int i = 0 ; i<= 4; i++){
number[i] = stoi(input.substr(i,i),0,10);
cout << number[i];
}
return 0;
}
当我运行它时会出现这个错误:
在抛出 'std::invalid_argument' 的实例后调用终止 什么():stoi
【问题讨论】:
-
输入是什么?
-
字符串上的range
forloop。确保字符is a digit。如果是,则从数字字符中减去字符'0',得到它的整数值。 -
您是想将一个字符串转换为一个整数,还是一个整数列表?似乎您可能希望每个单独的数字都是它自己的整数(例如,输入 12345 会给出一个包含 1、2、3、4、5 的数组)?那是你要的吗?或者您是否正在寻找由一些标点符号分隔的多位整数列表?
标签: c++