logo

Pretvori niz v celo število v C++

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++.

Pretvori niz v celo število v C++

Različne metode za pretvorbo nizovnih podatkov v cela števila v programskem jeziku C++.

  1. Uporaba razreda stringstream
  2. Uporaba funkcije stoi().
  3. Uporaba funkcije atoi().
  4. 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 = &apos;143&apos;; // 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 &lt;&gt; intdata; // fetch integer type data cout &lt;&lt; &apos; The string value is: &apos; &lt;&lt; str1 &lt;&lt; endl; cout &lt;&lt; &apos; The representation of the string to integer type data is: &apos; &lt;&lt; intdata &lt;&lt; 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, &amp;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().

  1. Funkcija sscanf() pripada razredu stringstream, zato moramo razred uvoziti v naš program.
  2. Inicializira niz stalnih znakov str.
  3. Ustvarite celoštevilsko spremenljivko za shranjevanje pretvorjenega niza v celoštevilske vrednosti.
  4. Posredujte nizovno spremenljivko v funkcijo sscanf() in dodelite funkcijo sscanf() celoštevilski spremenljivki, da shranite vrednost celega števila, ki jo ustvari funkcija.
  5. 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 = &apos;555&apos;; const char *str2 = &apos;143&apos;; const char *str3 = &apos;101&apos;; // 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, &apos;%d&apos;, &amp;numdata1); cout &lt;<' 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&apos;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 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // 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 &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<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(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) 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&apos;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 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // 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 &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<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(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) 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().

  1. Inicializirajte spremenljivko niza za shranjevanje vrednosti niza.
  2. Po tem ustvari spremenljivko tipa celo število, ki shrani pretvorbo niza v podatke tipa celo število s funkcijo stoi().
  3. 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 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // 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 &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<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(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) 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&apos;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 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // 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 &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<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(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) 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().

  1. Inicializirajte niz znakov tipa kazalec za shranjevanje niza.
  2. Po tem ustvari spremenljivko tipa celo število, ki shrani pretvorbo niza v podatke tipa celo število s pomočjo funkcije atoi().
  3. 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 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // 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 &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<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(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;>