标签: c encoding type-conversion hex
我目前在我的C程序中有一个字符串argv输入(即./a“ 123456”)。有什么方法可以在不创建转换表的情况下将该字符串转换为十六进制值(0x123456)?
请注意,我想将字符串直接转换为十六进制并存储以供使用(即“ \ x12 \ x34 \ x56”,而不是ASCII十六进制值。
答案 0 :(得分:2)
在C中将字符串转换为整数的规范函数strtol具有基数参数,因此您可以使用:
strtol
int hex = strtol(argv[1], NULL, 16);