long strtol( const char *str, char **endptr, int base )

	unsigned long strtoul( const char *s, char **endptr, int radix )

	- prototype in string.h

	- converts string str to long (or unsigned long) value
	- stops reading at first character that cannot be interpreted
	  as part of a long value, returning in *endptr
	- str must have format:

	  [ws][sn][0][x][ddd]

	  where [ws]  = optional whitespace
		[sn]  = optional sign (+-)
		[0]   = optional zero
		[x]   = optional x or X
		[ddd] = optional digits

	 - base is between 2 and 36; if 0, first few characters of str
	   determines base to be used (oct,hex or dec) any other value
	   of base is illegal