Funzione Stol in C ++

Funzione Stol in C ++

C ++ è uno dei linguaggi di programmazione più popolari e più antichi utilizzati per lo sviluppo di applicazioni ad alte prestazioni. Viene utilizzato tra programmatori altamente esperti e sviluppatori alle prime armi. È utilizzato principalmente nello sviluppo del gioco ed è un'opzione ideale per lo sviluppo di sistemi operativi. Quando si scrive codice nel linguaggio C ++, è possibile imbatterti in una conversione di dati da un tipo a un altro. In questo articolo, imparerai a convertire una stringa in un intero lungo. È abbastanza difficile convertire una stringa in qualsiasi altro formato. Tuttavia, il linguaggio di programmazione C ++ fornisce un modo rapido ed efficiente per convertire le stringhe in numeri interi.

funzione Stol in c++

Lo Stol è una funzione integrato C ++ fornita nella libreria STD. Converte le stringhe in numeri interi lunghi. Converte il contenuto della stringa in un numero intero della base specificata e restituisce un valore intero lungo. Ci vogliono tre parametri, uno è la stringa di input, il secondo è il parametro oggetto e il terzo è la base numerica. La sintassi della funzione Stol è riportata di seguito, dai un'occhiata:

La funzione Stol richiede tre parametri: input_string, dimensioni e base. "Input_string" rappresenta la stringa di input che deve essere convertita in un numero intero lungo.

Il parametro "Dimensione" rappresenta l'oggetto di tipo size_t che trasporta la posizione del carattere successivo nella stringa di input dopo il valore numerico. Può essere un puntatore nullo se non è necessario utilizzare.

Il terzo parametro, il parametro "base" rappresenta la base in cui la stringa deve essere interpretata. Ad esempio, se viene fornita la base "2", la stringa verrà interpretata come numero intero 2. Il valore predefinito del parametro di base è 10 e se è fornito 0, il valore di base verrà determinato dal formato nella sequenza. La funzione Stol restituisce il numero intero lungo che rappresenta il valore int di una determinata stringa.

Ora, esploriamo alcuni esempi per capire come funziona la funzione Stol in C++.

Esempio 1

In questo esempio, forniremo stringhe decimali ed esadecimali per verificare come la funzione Stol le converte in numeri interi decimali ed esadecimali.

Il "dec = 123456789" è una stringa decimale e convertito in un intero lungo usando la funzione Stol Stol (DEC e dimensione). Si noti che la base non è fornita nella funzione come parametro di input che come risultato utilizza la base predefinita 10 per convertire la stringa in un numero decimale. Tuttavia, per convertire la stringa da un numero esadecimale a un numero decimale, la base 16 è fornita come parametro di input Stol (esagonale, nullptr, 16). Come sappiamo, la base 16 rappresenta un numero esadecimale.

#includere
#includere
#includere
int main ()

std :: string dec = "123456789";
std :: string hex = "a2bf3c";
std :: string :: size_type size;
long lidec = std :: stol (dec, dimensione);
long lihex = std :: stol (esagono, nullptr, 16);
std :: cout << "Input decimal string "<std :: cout << "Input hexadecimal string "<restituzione 0;

Ecco il seguente output. Si noti che la stringa decimale "123456789" è stata convertita in intero lungo decimale "123456789". Mentre la stringa esadecimale "A2BF3C" si è convertita in numero esadecimale "10665788". Ecco i passaggi richiesti che puoi seguire per imparare come viene eseguita la conversione dalla funzione Stol:

(A2BF3C) ₁₆ = (10 × 16⁵) + (2 × 16⁴) + (11 × 16³) + (15 × 16²) + (3 × 16¹) + (12 × 16⁰) = (10665788) ₁₀

Esempio n. 2

In questo esempio, convertiremo un numero binario usando la funzione STOL. Vediamo il codice qui sotto e comprendiamo il funzionamento del codice. Il "1010110110" è indicato come stringa di input e la base 2 è fornita come parametro di base di input Stol (bin, e dimensione, 2), che rappresenta il numero in formato binario. La funzione Stol convertirà il numero binario in un numero decimale seguendo questi passaggi:

(1010110110) ₂ = (1 × 2⁹) + (0 × 2⁸) + (1 × 2⁷) + (0 × 2⁶) + (1 × 2⁵) + (1 × 2⁴) + (0 × 2³) + (1 × 2²) + (1 × 2¹) + (0 × 2⁰) = (694) ₁₀
#includere
#includere
#includere
int main ()

std :: string bin = "1010110110";
std :: string :: size_type size;
Long libin = std :: stol (bin, & size, 2);
std :: cout << "Input binary string "<restituzione 0;

Come puoi vedere che la funzione Stol ha restituito lo stesso risultato del processo di conversione binaria generale a decimale.

Esempio n. 3

In questo esempio, vedremo cosa succede se testiamo la funzione STOL con input non valido. Verrà fornita una stringa di più caratteri alla funzione STOL e 0 verrà fornita come valore di base in modo che la funzione determinisca automaticamente la base della stringa. Ecco il codice:

Un set di caratteri viene fornito come una stringa di input che non è determinata da alcun valori di base, i.e., 10, 16, 2, ecc. Quindi la funzione restituirà un valore di errore.

#includere
#includere
#includere
int main ()

std :: string chr = "abcdefgh";
std :: string :: size_type size;
long str = std :: stol (chr, nullptr, 0);
std :: cout << "Input character string "<restituzione 0;

Vedere l'output di seguito. Si noti che il compilatore ha sollevato un'eccezione "invalid_argument" poiché la funzione non soddisfa le stringhe che non possono essere determinate con alcun valore di base.

Esempio # 4

In questo esempio, forniremo una combinazione di input valido e non valido per vedere il risultato della funzione Stol ().

La stringa di input è una combinazione di caratteri validi e non validi, "123xf25". L'ISG "0" fornito come base di input in modo che la funzione determini automaticamente la base della stringa di input in base al tipo di caratteri.

#includere
#includere
#includere
int main ()

std :: string chr = "123xf25";
std :: string :: size_type size;
long str = std :: stol (chr, nullptr, 0);
std :: cout << "Input string "<restituzione 0;

Ecco l'output che mostra il funzionamento della funzione Stol con una combinazione di input validi e non validi:

Si noti che la funzione ha convertito il "123" in numero decimale "123" e ha scartato il resto della stringa in quanto ha ricevuto un input non valido "X". La stringa dopo il carattere "x" non viene convertita dalla funzione Stol, restituendo solo i primi caratteri della stringa come a lungo int.

Conclusione

In questo post, abbiamo esplorato la funzione Stol del linguaggio di programmazione C ++. Con l'aiuto di alcuni esempi utili e semplici, abbiamo imparato come funziona la funzione STOL con diversi tipi di input. La funzione STOL prende tre parametri, la stringa di input che deve essere convertita, un parametro di dimensioni che rappresenta la posizione della funzione nella stringa e il valore di base che rappresenta la base della stringa di input. Restituisce il lungo valore int della stringa di input.