У меня вопрос относительно atoi. Я пытаюсь использовать atoi, чтобы проверить, могу ли я преобразовать символ в число, однако, если мое число равно 0, как мне обойти это? Я понимаю, что atoi возвращает 0 в случае сбоя, но также возвращает значение числа, если он работает, и в этом случае 0 подпадает под обе категории.
Если бы вместо этого я использовал strtol, есть ли способ проверить, является ли символ в массиве >= 0 или вообще не существует/не существует.
Например, если мой динамический массив состоит из {1 40 500}, и я пытаюсь выполнить strtol в позиции 8 (только за пределами границ), я хотел бы, чтобы он возвращал NULL или какой-либо признак того, что atoi/strtol не удалось
strtol
вы можете использоватьendptr
, чтобы определить, удалось ли преобразование. - person user3386109   schedule 01.03.2016strtol()
, чтобы узнать, как правильно использоватьstrtol()
. Это не тривиально. Информация доступна; просто сложно правильно выполнить все условия. - person Jonathan Leffler   schedule 01.03.2016atoi()
иstrtol()
используются для преобразования массивов символов в целочисленные типы. - person nalzok   schedule 01.03.2016