C ++ atol () - Biblioteca C ++ Padrão

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 intvalor (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 NaNexpressã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

Artigos interessantes...