我需要一个返回字符,包括空格,制表,换行,等等...

的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) - 第一个版画小数,第二个相同号的十六进制版本。澄清一下你正在尝试做的 -

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top