将int转换为int值的char
Convert int to char of int value
我正试图找到一种方法,将int
转换为int
的相应值的char
(假设int是一位数字)。(示例1='1'5='5'9='9')我试过
int a=5;
char b=char(a+48);
每当我试图运行这个程序时,程序就会崩溃。如何设置一个正常工作的系统?
可以使用以下代码完成:
char c = (char)(48 + a);
您也可以使用'0'
字符值,而不是48。它将提高代码的可读性,让你不记得值48:
int a = 5;
char c = (char)((int)'0' + a);
正如评论中提到的,您可以在没有显式强制转换的情况下完成此操作:
char c = '0' + a;
相关文章:
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 如何在不强制转换每个参数的情况下删除初始值设定项列表中从 int 到 char 的缩小转换?
- C ++如何在使用"tolower"时将char转换为int
- 在标准中,模板参数的语法在哪里定义,例如,'std::function<int(char)>'?
- 类型为 'std::map< char,int > 的 <Swig 对象的代理
- 声明具有两种类型的变量:"int char"
- 定义.cpp中常数int/char*
- Qt5 对'QApplication::QApplication(int&, char**, int)'的未定义引用
- 将int/char插入数据库
- 从 std::vector 转换为<int> char[] C++
- 为什么INT(char)的比较不起作用
- 使用int+char组合uint8_t
- 为什么这个返回值?C++int/char混淆
- 向量到 int<char> 与向量<wchar_t>到 int
- Evaluate an int, char and int
- 接收错误"no matching function for call to 'getline(std::ifstream&, int&, char)'"
- reinterpret_cast<int*>(char*) vs. static_cast<int*>(static_cast<void*>(char*)) --
- 将类型int(C::*)(int, char)转换为类型int(int, char)
- 如何添加多位数的int和char,其中输出为int+char
- 是int, char也是抽象数据类型