c++ - 将字符串转换为 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 '<'。谢谢!
编辑:已解决,感谢大家的帮助。菜鸟在这里,道歉!
解决方案
这是因为你的price
定义:
string price[14];
- 您已将其定义为一个由 14 个字符串组成的数组,并尝试为数组 ( price[0]
) 中的第一个字符串分配一个数值(从字符串的角度来看这是虚假的)。
一旦您将价格定义为int price[14]
,那么您将得到您所期望的
推荐阅读
- html - 不再工作
- ios - UIScrollView 的指示器不显示也不滚动
- django - 如何在 django 2 模型中获取登录的用户详细信息?
- date - 小于或等于符号未在 Db2 数据库中带来所需结果
- java - 将 JAR 文件复制到 AS400 并执行
- regex - XACML 正则表达式不匹配
- python - Tkinter Treeview 曾经在创建条纹行时工作,现在它不起作用
- r - 在 SQL 查询结束时更新的闪亮文本输出
- mongodb - 从 MongoDB v 4 开始,有没有办法用另一个字段的值更新 mongodb 字段
- java - 在每个 DELETE 之后执行 SQL 语句