在C语言中将十六进制转换为字符数组

10

给定一个十六进制值的字符串,例如 "0011223344",其中每两个字符代表一个十六进制值,如 0x00、0x11 等等。

我该如何将这些值添加到 char 数组中?

相当于说:

char array[4] = { 0x00, 0x11 ... };
11个回答

-4

首先,您的问题不是很精确。这个字符串是std::string还是一个char缓冲?是在编译时设置的吗?

动态内存几乎肯定是您的答案。

char* arr = (char*)malloc(numberOfValues);

然后,您可以遍历输入,并将其分配给数组。

1
这不是std::string - 这是C语言,只有一种字符串类型。 - Jonathan Leffler
2
@Paul:你认为你的回答有什么有用的地方?问题是关于“如何遍历输入并将其分配给数组”...而你则小心翼翼地留给读者作为练习。 - Jonathan Leffler
1
@jon: (1)有时候C和C++会混淆,(2)我通常把作业问题留给提问者自己练习,(3)我本来期望OP能回应以便更好地给出答案,但他只是“问完就走了”。 - Paul Nathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接