字符串到c ++的八进制

时间:2013-03-17 17:57:45

标签: c++ string octal

String hexstr = "0x12AB450912AB450912AB450912AB450912AB4509";

我有一个长度为40个字节的字符串。

我需要将上面的字符串转换为八进制(到20个字节)

char *endp;
strtoul(hexstr , &endp, 8);

要使用上述功能,它可以长时间工作,即8个字节。 但我的字符串是40个字节。

有些机构可以告诉我如何转换为八进制并存储回字符串吗?

1 个答案:

答案 0 :(得分:1)

该函数返回一个unsigned long int,因此返回的最大值为8个字节,假设尝试转换40字节字符串并不疯狂。没有标准整数类型保存40个字节。你可以通过将数字转换为二进制并每3位读取一次来获得这个数字的八进制版本