我看过很多关于转换字符串“37878”的问题,因此它可以用作int或hex值。我想知道如何转换让我们说“EOF”到454f46这是十六进制的等价物。 Plz的帮助。这是在c ++中
答案 0 :(得分:1)
当分解为45,4f和46时,值0x454f46只是以十六进制表示法表示的E,O和F的ASCII字符代码。
要获取c中char的ASCII值,您需要做的只是
char c = 'E'
int i = (int)c
现在我将保持值69或0x45。
C中的完整示例:
#include <stdio.h>
void convert(char *test)
{
int i =0;
while (test[i] != 0)
{
printf("%X",(int)test[i]);
++i;
}
printf("\n");
}
int main()
{
char *test="EOF";
convert(test);
}
产生:
$ gcc c2hex.c
$ ./a.out
454F46