C ++ atol () - Libreria standard C ++

La funzione atol () in C ++ interpreta il contenuto di una stringa e restituisce il valore intero corrispondente.

atol () Prototipo

 long int atol (const char * str);

È definito nel file di intestazione.

La funzione atol () accetta string come parametro, interpreta il suo contenuto come un numero intero e restituisce il valore corrispondente in long int.

atol () Parametri

  • str - Una stringa con la rappresentazione di un numero intero.

atol () Restituisce il valore

La funzione atol () restituisce:

  • un long intvalore (che viene convertito dalla stringa).
  • 0 se non è stato possibile eseguire una conversione valida.

Se il valore convertito non rientra nell'intervallo, provoca un comportamento indefinito.

Esempio 1: come funziona la funzione 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 esegui il programma, l'output sarà:

 Numero in stringa = -114 Numero in int lungo = -114

Un valore intero valido per la funzione atol () è costituito da un segno + o - opzionale seguito da cifre numeriche (0-9) . La funzione atol () non supporta esadecimale, infinito ed NaNespressioni come la funzione atof ().

In generale, un argomento intero valido per la funzione atol () ha la seguente forma:

 (spazi) (- | +) (cifre)

La funzione atol () ignora tutti i caratteri di spazio vuoto iniziali finché non viene trovato il carattere principale diverso da spazi.

Quindi, a partire da questo carattere, prende il maggior numero di caratteri possibile che forma una rappresentazione intera valida e li converte in un valore int lungo. Tutto ciò che resta della stringa dopo l'ultimo carattere valido viene ignorato e non ha alcun effetto sul risultato.

Esempio 2: funzione atol () con spazi bianchi e caratteri finali

 #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 esegui il programma, l'output sarà:

 Numero in stringa = 13 Numero in lungo Int = 13 Numero in stringa = 25 Numero in lungo Int = 25 Numero in stringa = 41.90abcd Numero in lungo Int = 41 abcd14 a Long Int = 0

Articoli interessanti...