atoi

Origem: Wikipédia, a enciclopédia livre.

atoi é um termo da computação que designa uma função da linguagem C ou C++ que converte strings em números inteiros. É uma forma abreviada de escrever ASCII to integer (caracteres ASCII para número inteiro).

A função atoi recebe um vetor de de caracteres como entrada está definida no header stdlib.h (cstdlib em C++).

Uso[editar | editar código-fonte]

A função atoi possui o seguinte protótipo:

int atoi (const char *string)

Recebendo como parâmetro um ponteiro para um vetor de char (string) e devolvendo como retorno um número inteiro. O vetor de caracteres precisa ser terminado por um caractere nulo e a sua falta faz a função ficar impossibilitada de encontrar a terminação da string, promovendo uma leitura em endereços não permitidos, o que causa uma violação de segmentação (em sistemas UNIX causa o sinal SIGSEGV) e em situações graves pode gerar uma falha de segurança.

Detecção de erros[editar | editar código-fonte]

Por retornar apenas os valores convertidos para inteiro não possiblita a detecção de erros.[1] É possível detectar erros de conversão utilizando a função strtol que possui um uso mais complexo mas foi concebida para ser uma substituta bem comportada a atoi.

Referências

  1. «strtol(3) - Linux man page» (em inlgês). Linux Documentation. Consultado em 2 de fevereiro de 2010 
Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.