C ++ atol () - Biblioteca estándar de C ++

La función atol () en C ++ interpreta el contenido de una cadena y devuelve su valor entero correspondiente.

atol () prototipo

 long int atol (const char * str);

Está definido en el archivo de encabezado.

La función atol () toma una cadena como parámetro, interpreta su contenido como un número integral y devuelve el valor correspondiente en long int.

Parámetros de atol ()

  • str : una cadena que tiene la representación de un número entero.

atol () Valor de retorno

La función atol () devuelve:

  • un long intvalor (que se convierte de la cadena).
  • 0 si no se pudo realizar una conversión válida.

Si el valor convertido está fuera del rango, provoca un comportamiento indefinido.

Ejemplo 1: ¿Cómo funciona la función 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; ) 

Cuando ejecute el programa, la salida será:

 Número en cadena = -114 Número en int largo = -114

Un valor entero válido para la función atol () consta de un signo + o - opcional seguido de dígitos numéricos (0-9) . La función atol () no admite la función hexadecimal, infinito y NaNexpresión como atof ().

En general, un argumento entero válido para la función atol () tiene la siguiente forma:

 (espacio en blanco) (- | +) (dígitos)

La función atol () ignora todos los espacios en blanco iniciales hasta que se encuentra el carácter primario que no es un espacio en blanco.

Luego, a partir de este carácter, toma tantos caracteres como sea posible que forman una representación de entero válida y los convierte en un valor int largo. Lo que quede de la cadena después del último carácter válido se ignora y no tiene ningún efecto en el resultado.

Ejemplo 2: función atol () con espacios en blanco y caracteres finales

 #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; )

Cuando ejecute el programa, la salida será:

 Número en cadena = 13 Número en int largo = 13 Número en cadena = 25 Número en int largo = 25 Número en cadena = 41.90abcd Número en int largo = 41 abcd14 a int largo = 0

Articulos interesantes...