Показать сообщение отдельно
Старый 06.03.2005, 15:30     # 3
tropico
Guest
 
Сообщения: n/a

Разобрался.

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;
}