如何将char转换为int

  • 本文关键字:int 转换 char c++
  • 更新时间 :
  • 英文 :

void addItem(char selection) {
double total = 0.0;
qty = 0;
cout << "Enter Qty: ";
cin >> qty;
`else if (selection == '10') {
total = 60 * qty;
cout << "Added to order"<<endl;
Iattotal += total;
Iatqty += qty;
Gtotal += Iattotal;
}
}

main.cpp:93:22: warning: multi-character character constant [-Wmultichar]
93 |     if (selection == '10') {
|                      ^~~~
^~~~

有没有解决这个问题的办法我试着把char改成int,但它没有改变,我试着找到类似的问题,但它没有固定

取决于你想做什么:

以ASCII码的形式读取值,可以写

char a = 'a';
int ia = (int)a; 

/*注意int强制转换不是必须的——int ia = a就足够了*/转换字符'0' ->0, '1' ->1、等,可以写

char a = '4';
int ia = a - '0';

/*检查ia是否有0和9 */

出现错误是因为您正在比较"选择"变量,它是一个字符类型,只能保存一个字符,'10'是一个多字符常量。

如果你试图传递一个多字符变量,比如用户输入,你可以考虑使用std:string。

Std::string可以包含多个字符,并且可以使用==操作符进行比较。

或者,您可以将类型更改为char *——这就是c-string通常的定义方式。c - string以空结束,表示字符串的结束。

如果使用c字符串,则需要使用标准库函数(如strcmp)将值与常量进行比较。当两个字符串相等时STRCMP返回0。

在处理c-string时,必须小心不要读取超出缓冲区或数组的大小。为了安全起见,最好使用strncmp,其中可以指定要比较的最大字符数。

最新更新