C++ 将字符串转换为int问题
因此,我成功地将字符串转换为int。但是,在代码#1中,当我尝试将其分配给数组中的第一个插槽并将其打印出来时,它会打印“,这是因为您的C++ 将字符串转换为int问题,c++,string,int,ascii,C++,String,Int,Ascii,因此,我成功地将字符串转换为int。但是,在代码#1中,当我尝试将其分配给数组中的第一个插槽并将其打印出来时,它会打印“,这是因为您的价格定义: string price[14]; -您已将其定义为一个包含14个字符串的数组,并试图为数组中的第一个字符串(price[0])分配一个数值(从字符串的角度来看这是虚假的) 一旦您将价格定义为int price[14],那么您将得到您所期望的price需要定义为整数数组。当您尝试将整数值60存储在price中时,它会隐式转换为(char)60,这是语
价格定义:
string price[14];
-您已将其定义为一个包含14个字符串的数组,并试图为数组中的第一个字符串(price[0]
)分配一个数值(从字符串的角度来看这是虚假的)
一旦您将价格定义为int price[14]
,那么您将得到您所期望的price
需要定义为整数数组。当您尝试将整数值60存储在price
中时,它会隐式转换为(char)60
,这是语句后缺少的分线(;
)?抱歉,我不熟悉这一点,但我知道,谢谢!但这并不是问题的根源。有什么想法吗?谢谢atoi(menuAttributes[c].c_str())=20代码>price[0]
是一个std::string
<代码>原子(menuAttributes[c].c_str())*数量[d]
不是字符串。编译器没有抱怨这个赋值吗?你给一个不正确的字符串赋值了一个数字。price数组必须是数值型数组(int,float,…)才能有值。谢谢你,代表我非常愚蠢!一点也不,即使是专业人士也会犯这样的错误(唯一的区别是他们不会急于在stackoverflow上发布)
string price[14];