V tem razdelku bomo razpravljali o različnih metodah za pretvorbo danih podatkov niza v celo število z uporabo programskega jezika C++. Obstaja nekaj situacij ali primerov, ko moramo pretvoriti določene podatke v drugo vrsto, in ena takih situacij je pretvorba niza v int podatke v programiranju.
Na primer, imamo številski niz kot ' 143 ', in ga želimo pretvoriti v številski tip. Uporabiti moramo funkcijo, ki pretvori niz v celo število in vrne številske podatke kot 143. Zdaj se bomo naučili vsake metode, ki pomaga pretvoriti podatke niza v cela števila v programskem jeziku C++.
Različne metode za pretvorbo nizovnih podatkov v cela števila v programskem jeziku C++.
- Uporaba razreda stringstream
- Uporaba funkcije stoi().
- Uporaba funkcije atoi().
- Uporaba funkcije sscanf().
Uporaba razreda stringstream
The stringstream je razred, ki se uporablja za pretvorbo številskega niza v vrsto int. Razred stringstream deklarira tokovni objekt, da vstavi niz kot tokovni objekt in nato izvleče pretvorjene celoštevilske podatke na podlagi tokov. Razred stringstream ima operatorje '<>', ki se uporabljajo za pridobivanje podatkov iz (<>) levega operaterja.
Ustvarimo program za predstavitev razreda stringstream za pretvorbo podatkov niza v celo število v programskem jeziku C++.
datum na niz
Program1.cpp
#include #include // use stringstream class using namespace std; int main() { string str1 = '143'; // declare a string int intdata; // declare integer variable /* use stringstream class to declare a stream object to insert a string and then fetch as integer type data. */ stringstream obj; obj <> intdata; // fetch integer type data cout << ' The string value is: ' << str1 << endl; cout << ' The representation of the string to integer type data is: ' << intdata << endl; return 0; }
Izhod
The string value is: 143 The representation of the string to integer type data is: 143
V zgornjem programu uporabljamo razred stringstream za ustvarjanje objekta obj in pomaga pretvoriti podatke niza v celo število. Nato uporabimo operator '<>' za ekstrahiranje pretvorjenega niza iz obj v številske podatke.
Uporaba funkcije sscanf().
Funkcija sscanf() pretvori dani niz v določen podatkovni tip, kot je celo število.
Sintaksa
sccanf ( str, %d, &intvar);
Funkcija sscanf() ima tri argumente za podajanje niza znakov (str), specifikatorja podatkov (%d) in celoštevilske spremenljivke (&intvar) za shranjevanje pretvorjenega niza.
Algoritem funkcije sscanf().
- Funkcija sscanf() pripada razredu stringstream, zato moramo razred uvoziti v naš program.
- Inicializira niz stalnih znakov str.
- Ustvarite celoštevilsko spremenljivko za shranjevanje pretvorjenega niza v celoštevilske vrednosti.
- Posredujte nizovno spremenljivko v funkcijo sscanf() in dodelite funkcijo sscanf() celoštevilski spremenljivki, da shranite vrednost celega števila, ki jo ustvari funkcija.
- Natisnite celoštevilske vrednosti.
Oglejmo si primer uporabe funkcije sscanf() za pretvorbo niza v številsko število v C++.
algoritem za bfs
Program2.cpp
#include #include // use stringstream class using namespace std; int main () { // declare the character strings const char *str1 = '555'; const char *str2 = '143'; const char *str3 = '101'; // declare the integer variables int numdata1; int numdata2; int numdata3; /* use sscanf() function and to pass the character string str1, and an integer variable to hold the string. */ sscanf (str1, '%d', &numdata1); cout <<' the value of character string is: ' << str1; cout ' representation to int numdata1 <<endl; sscanf (str2, '%d', &numdata2); <<' str2; numdata2 (str3, &numdata3); str3; numdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The value of the character string is: 555 The representation of string to int value of numdata is: 555 The value of the character string is: 143 The representation of string to int value of numdata is: 143 The value of the character string is: 101 The representation of string to int value of numdata is: 101 </pre> <h3>Using the stoi() function</h3> <p>The stoi() function converts a string data to an integer type by passing the string as a parameter to return an integer value.</p> <p> <strong>Syntax</strong> </p> <pre> stoi(str); </pre> <p>The stoi() function contains an str argument. The str string is passed inside the stoi() function to convert string data into an integer value.</p> <p> <strong>Algorithm of the stoi() function</strong> </p> <ol class="points"> <li>Initialize the string variable to store string values.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the stoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let's create a program to use the stoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program3.cpp</strong> </p> <pre> #include #include using namespace std; int main () { string strdata1 = '108'; string strdata2 = '56.78'; string strdata3 = '578 Welcome'; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout << ' The conversion of string to an integer using stoi('' << strdata1 << '') is ' << intdata1 <<endl; cout << ' the conversion of string to an integer using stoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi('108') is 108 The conversion of string to an integer using stoi('56.78') is 56 The conversion of string to an integer using stoi('578 Welcome') is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let's create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = '256'; const char *strdata2 = '16.18'; const char *strdata3 = '1088 Good Bye'; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout << ' The conversion of string to an integer value using atoi('' << strdata1 << '') is ' << intdata1 <<endl; cout << ' the conversion of string to an integer value using atoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi('256') is 256 The conversion of string to an integer value using atoi('16.18') is 16 The conversion of string to an integer value using atoi('1088 Good Bye') is 1088 </pre> <hr></endl;></pre></endl;></pre></'>
Uporaba funkcije stoi().
Funkcija stoi() pretvori podatke niza v vrsto celega števila tako, da posreduje niz kot parameter za vrnitev vrednosti celega števila.
Sintaksa
stoi(str);
Funkcija stoi() vsebuje argument str. Niz str se posreduje znotraj funkcije stoi() za pretvorbo podatkov niza v vrednost celega števila.
Algoritem funkcije stoi().
- Inicializirajte spremenljivko niza za shranjevanje vrednosti niza.
- Po tem ustvari spremenljivko tipa celo število, ki shrani pretvorbo niza v podatke tipa celo število s funkcijo stoi().
- Natisnite vrednost celoštevilske spremenljivke.
Ustvarimo program za uporabo funkcije stoi() za pretvorbo vrednosti niza v tip celega števila v programskem jeziku C++.
Program3.cpp
#include #include using namespace std; int main () { string strdata1 = '108'; string strdata2 = '56.78'; string strdata3 = '578 Welcome'; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout << ' The conversion of string to an integer using stoi('' << strdata1 << '') is ' << intdata1 <<endl; cout << \' the conversion of string to an integer using stoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi('108') is 108 The conversion of string to an integer using stoi('56.78') is 56 The conversion of string to an integer using stoi('578 Welcome') is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let's create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = '256'; const char *strdata2 = '16.18'; const char *strdata3 = '1088 Good Bye'; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout << ' The conversion of string to an integer value using atoi('' << strdata1 << '') is ' << intdata1 <<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi('256') is 256 The conversion of string to an integer value using atoi('16.18') is 16 The conversion of string to an integer value using atoi('1088 Good Bye') is 1088 </pre> <hr></endl;></pre></endl;>
Uporaba funkcije atoi().
Funkcija atoi() se uporablja za pretvorbo niza znakov v vrednost celega števila. Funkcija atoi() posreduje niz znakovnega tipa, da vrne podatke celega števila.
Sintaksa
razlika med ledom in snegom
atoi (const char *str);
Algoritem funkcije atoi().
- Inicializirajte niz znakov tipa kazalec za shranjevanje niza.
- Po tem ustvari spremenljivko tipa celo število, ki shrani pretvorbo niza v podatke tipa celo število s pomočjo funkcije atoi().
- Natisnite vrednost celoštevilske spremenljivke.
Ustvarimo program za uporabo funkcije atoi() za pretvorbo vrednosti niza v tip celega števila v programskem jeziku C++.
Program4.cpp
#include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = '256'; const char *strdata2 = '16.18'; const char *strdata3 = '1088 Good Bye'; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout << ' The conversion of string to an integer value using atoi('' << strdata1 << '') is ' << intdata1 <<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi('256') is 256 The conversion of string to an integer value using atoi('16.18') is 16 The conversion of string to an integer value using atoi('1088 Good Bye') is 1088 </pre> <hr></endl;>
'>