在C中存储字符串的输入十六进制值

问题描述 投票:1回答:1

我目前有一个字符串argv输入到我的C程序(即./a“123456”)。有没有办法在不创建转换表的情况下将此字符串转换为十六进制值(0x123456)?

请注意,我想将字符串直接转换为十六进制并存储以供使用(即“\ x12 \ x34 \ x56”,而不是ASCII十六进制值。

c encoding type-conversion hex
1个回答
2
投票

用于将字符串转换为C(strtol中的整数)的规范函数具有基数参数,因此您可以使用:

int hex = strtol(argv[1], NULL, 16);
© www.soinside.com 2019 - 2024. All rights reserved.