У меня есть вопрос относительно atoi. Я пытаюсь использовать atoi, чтобы проверить, могу ли я преобразовать символ в число, однако, если мой номер равен 0, как мне обойти это? Я понимаю, что atoi возвращает 0, если он терпит неудачу, но также возвращает значение числа, если оно работает, и в этом случае 0 попадает под обе категории.Atoi возвращаемое значение
Если бы я использовал strtol вместо этого, есть ли способ проверить, является ли символ в массиве> = 0, или вообще не существует/вообще не существует.
Например, если мой динамический массив состоял из {1 40 500}, и я пытаюсь strtol в позиции 8 (просто за пределами), я бы хотел, чтобы он возвращал NULL или некоторое указание, что atoi/strtol не удалось
С 'strtol', вы можете использовать' endptr' для определить, удалось ли преобразование. – user3386109
Вы хотите сказать "1 40 500"? –
См. [Правильный способ использования 'strtol()'] (https://stackoverflow.com/questions/14176123/correct-usage-of-strtol) для правильного использования 'strtol()'. Это не тривиально. Информация доступна; это просто сложно получить все условия. –