A função atol () em C ++ interpreta o conteúdo de uma string e retorna seu valor inteiro correspondente.
protótipo atol ()
long int atol (const char * str);
É definido no arquivo de cabeçalho.
A função atol () recebe string como parâmetro, interpreta seu conteúdo como um número inteiro e retorna o valor correspondente em long int
.
Parâmetros atol ()
- str - uma string com a representação de um número inteiro.
atol () Valor de retorno
A função atol () retorna:
- um
long int
valor (que é convertido da string). - 0 se nenhuma conversão válida puder ser realizada.
Se o valor convertido estiver fora do intervalo, isso causará um comportamento indefinido.
Exemplo 1: Como funciona a função atol ()?
#include #include using namespace std; int main() ( char s() = "-114"; double number; cout << "Number in String = " << s << endl; number = atol(s); cout << "Number in Long Int = " << number; return 0; )
Quando você executa o programa, a saída será:
Número em String = -114 Número em Long Int = -114
Um valor inteiro válido para a função atol () consiste em um sinal opcional + ou - seguido por dígitos numéricos (0-9) . A função atol () não suporta hexadecimal, infinito e NaN
expressão como a função atof ().
Em geral, um argumento inteiro válido para a função atol () tem o seguinte formato:
(espaço em branco) (- | +) (dígitos)
A função atol () ignora todos os caracteres de espaço em branco iniciais até que o caractere de espaço em branco principal seja encontrado.
Então, começando com este caractere, ele pega tantos caracteres quanto possível que forma uma representação de inteiro válida e os converte em um valor inteiro longo. O que restar da string após o último caractere válido é ignorado e não tem efeito no resultado.
Exemplo 2: função atol () com espaço em branco e caracteres finais
#include #include using namespace std; int main() ( cout << "Number in String = " << " 13" << endl; cout << "Number in Long Int = " << atol(" 13") << endl << endl; cout << "Number in String = " << " 25 " << endl; cout << "Number in Long Int = " << atol(" 25 ") << endl << endl; cout << "Number in String = " << "41.90abcd" << endl; cout << "Number in Long Int = " << atol("41.90abcd") << endl << endl; // Returns 0 because of invalid conversion cout << "abcd14" << " to Long Int = " << atol("abcd14") << endl; return 0; )
Quando você executa o programa, a saída será:
Número em String = 13 Número em Long Int = 13 Número em String = 25 Número em Long Int = 25 Número em String = 41,90abcd Número em Long Int = 41 abcd14 a Long Int = 0