Разобрался.
crawler,
Цитата:
The atoi() function is not thread-safe and also not async-cancel safe.
The atoi() function has been deprecated by strtol() and should not be
used in new code.
|
Следующий пример демонстрирует то, что я хотел:
Код:
/* (C) Eric Cartman */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
int main( int argc, char** argv )
{
char *end;
long int r;
if( argc > 1 ){
r = strtol( argv[1], &end, 10 );
if( end[0] != '\0' ){
fprintf( stderr, "Garbage input [%s]\n", end );
return 2;
}
if( errno ){
fprintf( stderr, "strtol error [%s]\n",
strerror( errno ) );
return 3;
}
printf( "Valid argument: %ld\n", r );
} else {
fprintf( stderr, "Usage: %s [number]\n", argv[0] );
return 1;
}
return 0;
}