Строка в восьмеричное в переполнении стека

String hexstr = "0x12AB450912AB450912AB450912AB450912AB4509";

У меня есть строка длиной 40 байт.

Мне нужно преобразовать вышеуказанную строку в восьмеричное (до 20 байт)

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

Чтобы использовать вышеупомянутую функцию, она работает долго, т.е. для 8 байтов.
Но моя строка 40 байтов.

Может ли какой-нибудь орган сказать мне, как преобразовать в восьмеричное и сохранить обратно в строку?

-2

Решение

функция возвращает беззнаковое длинное целое, поэтому максимальный возврат 8 байт, при условии, что это не сходит с ума, пытаясь преобразовать 40 строка байтов. нет стандартного целочисленного типа 40 байт. Вы можете сделать это путем преобразования цифр в двоичные и чтения каждые 3 бита, чтобы получить восьмеричную версию этого числа

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]