strtol
анализирует длинное целое число из заданной строки. Хорошо. Но как я могу проверить, что вообще что-то разбиралось?Как я могу проверить, что strtol разбирал что-нибудь вообще?
Например:
- с использованием
strtol
на следующих строк урожайности0
:
0abcdef
- однако, используя
strtol
на следующих строк урожайности0
тоже:
abcdef
Так , У меня нет индикатора, будет ли f unction проанализировал действительный 0
или ничего не разобрал и, таким образом, вернулся 0
.
Как проверить, работает ли strtol
или вернулся с ошибкой? Есть ли альтернативы?
I read that strtol
sets an errno на Unix, но меня особенно интересует платформа Win32.
так просто. Благодарю. – eckes
Добро пожаловать @eckes – nouney
Это не обязательно первый недопустимый символ - например, начальная последовательность пробелов действительна, но даже если строка начинается с пробела, если преобразование не выполняется, то гарантируется, что значение 'nptr 'будет храниться в' * endptr'. – caf