STRTOUL(3)

NOMBRE
strtoul - convierte una cadena en un entero largo sin signo.

SINOPSIS
#include <stdlib.h>

unsigned long int strtoul(const char *nptr, char **endptr,
int base)

DESCRIPCIÓN
La función strtoul() convierte 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 único signo `+' o `-'. Si base es cero o 16, la cadena puede entonces incluir un prefijo `0x' , y el número se leerá 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, deteniéndose en el primer caracter que no sea un dígito válido en la base dadd. (En bases por encima de 10, la letra `A' mayúscula o minúscula representa 10, `B' representa 11, y así en adelante, con `Z' representando 35).

Si endptr no es NULL, strtoul() almacena la dirección del primer caracter no válido en *endptr. Si no hubiera dígitos en absoluto strtoul() almacena el valor original de nptr en *endptr. (Por tanto, si *nptr no es `\0' pero **endptr es `\0' al retornar, toda la cadena es válida).

VALOR DEVUELTO
La función strtoul() devuelve o el resultado de la conversión o, si hubiera un signo menos delante, la negación del resultado de la conversión, 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.

ERRORES

ERANGE
    La cadena dada estaba fuera de rango; el valor convertido se ha restringido.

CONFORME A
SVID 3, BSD 4.3, ISO 9899

VÉASE TAMBIÉN
atof(3), atoi(3), atol(3), strtod(3), strtol(3)

FALLOS
Ignora la localización actual.