Provided by:
manpages-es_1.55-10_all 
NOMBRE
strtoul, strtoull, strtouq - convierten una cadena en un entero largo
sin signo
SINOPSIS
#include <stdlib.h>
unsigned long int
strtoul(const char *nptr, char **endptr, int base);
unsigned long long int
strtoull(const char *nptr, char **endptr, int base);
DESCRIPCI'ON
La funcion strtoul() convierte la parte inicial de la cadena nptr en un
valor entero largo sin signo de acuerdo con la base dada, la cual debe
estar entre 2 y 36 inclusive, o ser el valor especial 0.
La cadena debe comenzar con una cantidad arbitraria de espacios en
blanco (determinado por isspace(3)) y seguida por un opcional y unico
signo `+' o `-'. Si base es cero o 16, la cadena puede entonces
incluir un prefijo `0x' , y el numero se leera en base 16; en caso
contrario, una base cero se toma como 10 (decimal) a menos que el
siguiente caracter sea `0', en cuyo caso se toma como 8 (octal).
El resto de la cadena se convierte en un valor entero largo sin signo
de la manera obvia, deteniendose en el primer caracter que no sea un
digito valido en la base dada. (En bases por encima de 10, la letra `A'
mayuscula o minuscula representa 10, `B' representa 11, y asi en
adelante, con `Z' representando 35).
Si endptr no es NULL, strtoul() almacena la direccion del primer
caracter no valido en *endptr. Si no hubiera digitos en absoluto
strtoul() almacena el valor original de nptr en *endptr. (y devuelve
0). En particular, si *nptr es distinto de `\0' pero **endptr es `\0'
a la vuelta, la cadena entera es valida.
La funcion strtoull() hace el mismo trabajo que la funcion strtoul()
pero devuelve un valor entero de tipo long long.
VALOR DEVUELTO
La funcion strtoul() devuelve o el resultado de la conversion o, si
hubiera un signo menos delante, la negacion del resultado de la
conversion, a menos que el valor original (no-negado) se hubiera
sobrepasado; en tal caso, strtoul() devuelve ULONG_MAX y asigna ERANGE
a la variable global errno. Precisamente lo mismo se aplica a
strtoull() (con ULLONG_MAX en lugar de ULONG_MAX).
ERRORES
ERANGE El valor resultante esta fuera de rango.
EINVAL (no esta en C99) La base dada contiene un valor no soportado.
La implementacion puede poner tambien errno a EINVAL en caso de que no
se realice ninguna conversion (no se encuentren digitos, y se devuelva
0).
OBSERVACIONES
En otras localizaciones distintas a la localizacion "C", se pueden
aceptar tambien otras cadenas. (Por ejemplo, el separador de miles de
la localizacion actual puede estar soportado.)
BSD tiene tambien la funcion
u_quad_t
strtouq(const char *nptr, char **endptr, int base);
con una definicion completamente analoga. Dependiendo del tamano de
palabra de la arquitectura actual, esta puede ser equivalente a
strtoull() o a strtoul().
CONFORME A
strtoul() es conforme con SVID 3, BSD 4.3, ISO 9899 (C99) y POSIX, y
strtoull() es conforme con ISO 9899 (C99) y POSIX-2001.
V'EASE TAMBI'EN
atof(3), atoi(3), atol(3), strtod(3), strtol(3)