Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
String hexstr = "0x12AB450912AB450912AB450912AB450912AB4509";
我有一个长度为 40 字节的字符串。
我需要将上面的字符串转换为八进制(到 20 个字节)
char *endp; strtoul(hexstr , &endp, 8);
要使用上述功能,它的工作时间很长,即 8 个字节。但我的字符串是 40 个字节。
有人能告诉我如何转换为八进制并存储回字符串吗?
该函数返回一个无符号长整数,因此它将返回的最大值是8字节,假设它不会疯狂地尝试转换40字节字符串。没有标准的整数类型保存40字节。您可以通过将数字转换为二进制并读取每 3 位来获取该数字的八进制版本来做到这一点
8
40