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