I have the following code:
#include
#include
#include
void main(void)
{
int data;
char * tmp;
You have to check tmp
is not the same as "blablabla"
pointer.
If data == 0
and tmp == "blablabla"
, then the input data is in the incorrect format. errno
needs not to be set by the implementation if the input data is not in the expected format.
On strtol
, strtoll
, strtoul
, and strtoull
functions C says:
(C99, 7.20.1.4p7) If the subject sequence is empty or does not have the expected form, no conversion is performed; the value of nptr is stored in the object pointed to by endptr, provided that endptr is not a null pointer.
(C99, 7.20.1.4p9) The strtol, strtoll, strtoul, and strtoull functions return the converted value, if any. If no conversion could be performed, zero is returned.