Мне нужно преобразовать большое число символов в длинный, чтобы запрограммировать чип Atmega8 на AtmelStudio.Ошибка C strtoul() для больших значений в AtmelStudio
Я пробовал использовать atol()
и strtoul()
, и он не работает. Я читал в google, что есть ошибка с strtoul()
, которая позволяет использовать только меньшие значения. Я попробовал, и это правда. Я могу преобразовать char «250» в длинный с strtoul()
, но не «5555».
Я читал, что исправление заключается в создании вашей собственной функции strtoul(), но как мне это сделать? Я не знаю реализации strtoul()
, это внешний вид в библиотеке.
Это не работает:
char *my_time = "2505";
unsigned long new2 = (unsigned)strtoul(my_time, NULL, 10);
@JoachimPileborg Я не знаю, я делаю встроенное программирование, у меня нет printf. Из того, что я вижу, похоже, что он возвращает 0. –
Итак, в чем вопрос, пожалуйста? – alk
Итак, чтобы уточнить, вы говорите, что эти функции ошибочны в вашей реализации * библиотеки C, да? –