是否有返回字符的ASCII值的函数? (C ++)
题
我需要一个返回字符,包括空格,制表,换行,等等...
的ASCII值的函数在一个类似的说明,什么是十六进制,十进制和二进制数字之间转换的功能?
解决方案
char c;
int ascii = (int) c;
s2.data[j]=(char)count;
一个字符的是强>的整数,没有必要转换功能。
也许你正在寻找一个整数,显示为一个字符串函数 - 使用十六进制,二进制或十进制表示
其他提示
您不需要一个函数来获取ASCII值 - 只是转换为整数由(隐含的)演员:
int x = 'A'; // x = 65
int y = '\t'; // x = 9
要一个数转换为十六进制或十进制,则可以使用任何的printf
家族的成员:
char buffer[32]; // make sure this is big enough!
sprintf(buffer, "%d", 12345); // decimal: buffer is assigned "12345"
sprintf(buffer, "%x", 12345); // hex: buffer is assigned "3039"
有没有内置在功能上转换为二进制;你必须推出自己的。
如果你想在你的代码字符的ASCII值,只是把人物放在引号
char c = 'a';
您可以与输出混乱的内部表示。要看到人物有什么样的价值:
char c = 'A';
cout << c << " has code " << int(c) << endl;
类似地FO六角valuwes - 所有数字的十六进制数,所以它只是一个输出的问题:
int n = 42;
cout << n << " in hex is " << hex << n << endl;
在“HEX”在输出语句是一个C ++操纵器。存在用于十六进制和十进制(分解)操纵器,但不幸的是不是二进制的。
至于十六进制二进制& - 那些只是整数的表示。你可能想要的是类似的printf(“%d”,N),和printf(“%X”,N) - 第一个版画小数,第二个相同号的十六进制版本。澄清一下你正在尝试做的 -
不隶属于 StackOverflow