首页 > 解决方案 > 如果一个字符串是一个char数组,你如何将它转换成一个整数数组

问题描述

我一直收到这个循环的错误。如果有什么我错过了,请帮忙。谢谢你!

int main(){
 string hasil;
 int cod[5];
 hasil = "99999";

 for(int i = 0; i < 5; i++){
     cod[i] = stoi(hasil[i]);
 }

 for(int i = 0; i < 5; i++){
     cout << cod[i] + 1;
 }

标签: c++

解决方案


stoi用于将整个字符串转换为整数,但您只给它单个字符。

您可以像这样从每个字符构建字符串:

cod[i] = std::stoi(std::string(1, hasil[i])); // the 1 means "repeat char one time"

或者使用一些 ascii 数学自己计算实际整数(假设一切都是有效数字):

cod[i] = hasil[i] - '0'; // now '0' - '0' returns 0, '5' - '0' returns 5, etc...

推荐阅读