首页 > 解决方案 > 将字符串转换为 int 问题

问题描述

所以我设法将字符串转换为int。但是,在代码 #1 中,当我尝试将其分配给数组中的第一个插槽并打印出来时,它会打印“<”。为什么要这样做?我知道这与 ascii 字符有关。代码 #2 打印出我想要的 int 60。

atoi(menuAttributes[c].c_str()) = 20;
    quantity[d] = 3;
    string price[14];


    #1
    price[0] = atoi(menuAttributes[c].c_str()) * quantity[d];
    cout << price[0] << endl;


    #2
    cout << atoi(menuAttributes[c].c_str()) * quantity[d] << endl;

几乎,我希望 price[0] 等于 int 60,而不是 char '<'。谢谢!

编辑:已解决,感谢大家的帮助。菜鸟在这里,道歉!

标签: c++stringintascii

解决方案


这是因为你的price定义:

string price[14];

- 您已将其定义为一个由 14 个字符串组成的数组,并尝试为数组 ( price[0]) 中的第一个字符串分配一个数值(从字符串的角度来看这是虚假的)。

一旦您将价格定义为int price[14],那么您将得到您所期望的


推荐阅读