STRTOUL(3)

NOME
strtoul - converte uma seqüencia para um inteiro longo sem sinal

SINÓPSE
#include <stdlib.h>

unsigned long int strtoul(const char *ptrnum, char **ptrfim,
int base)

DESCRIÇÃO
A função strtoul() converte a seqüencia em ptrnum para um valor de inteiro longo sem sinal de acordo com a dada base, a qual deve estar entre 2 e 36 inclusive, ou ser o valor especial 0.

A seqüencia deve começar com uma quantidade arbitrária de espaço em branco (como determinado por isspace(3)) seguida por um único sinal opcional '+' ou '-'. Se base for zero ou 16, a seqüencia pode então incluir um prefixo '0x', e o número será lido em base 16; caso contrário, uma base zero é tomada como 10 (decimal) a menos que o caractere seguinte seja '0', caso no qual ela é tomada como 8 (octal).

O restante da seqüencia é convertido para um valor 'unsigned long int' da maneira óbvia, parando ao primeiro caractere que não seja um dígito válido na dada base. (Em bases acima de 10, a letra 'A' em maiúscula ou minúscula representa 10, 'B' representa 11, e assim por diante, com 'Z' representando 35.)

Se ptrfim não for NULO, strtoul() armazena o endereço do primeiro caractere inválido em *ptrfim. Se não houver qualquer dígito, strtoul() armazena o valor original de ptrnum em *ptrfim. (Por isso, se *ptrnum não for '\0' mas **ptrfim for '\0' no retorno, a seqüencia inteira é válida.)

VALORES RETORNADOS
A função strtoul() retorna ou o resultado da conversão ou, se havia um sinal de menos na frente, a negação do resultado da conversão, a menos que o valor original (não-negado) causasse estouro de representação; no último caso, strtoul() retorna ULONG_MAX e define a variável global errno para ERANGE.

ERROS

ERANGE
    A seqüencia dada estava fora de limite; o excedente do valor fora descartado.

DE ACORDO COM
SVID 3, BSD 4.3, ISO 9899.

VEJA TAMBÉM
atof(3),

atoi (3),

atol (3),

strtod (3),

strtol (3).

PROBLEMAS
Ignora a localização atual.

TRADUZIDO POR LDP-BR em 15/03/2001.

  Tradução:
Marcelo M. de Abreu <mmabreu@terra.com.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>