logo

Previesť reťazec na celé číslo v C++

Táto časť bude diskutovať o rôznych metódach prevodu dát daného reťazca na celé číslo pomocou programovacieho jazyka C++. Existujú situácie alebo prípady, keď potrebujeme konvertovať určité údaje na iný typ, a jednou z takýchto situácií je konvertovať reťazec na údaje int v programovaní.

Napríklad máme číselný reťazec ako „ 143 ', a chceme ho previesť na číselný typ. Musíme použiť funkciu, ktorá skonvertuje reťazec na celé číslo a vráti číselné údaje ako 143. Teraz sa naučíme každú metódu, ktorá pomáha konvertovať reťazcové údaje na celé čísla v programovacom jazyku C++.

Previesť reťazec na celé číslo v C++

Rôzne metódy na konverziu údajov reťazca na celé čísla v programovacom jazyku C++.

  1. Pomocou triedy stringstream
  2. Pomocou funkcie stoi().
  3. Pomocou funkcie atoi().
  4. Pomocou funkcie sscanf().

Pomocou triedy stringstream

The stringstream je trieda používaná na konverziu číselného reťazca na typ int. Trieda stringstream deklaruje objekt toku na vloženie reťazca ako objekt toku a potom extrahuje skonvertované celočíselné údaje na základe tokov. Trieda stringstream má operátory '<>', ktoré sa používajú na načítanie údajov z (<>) ľavého operátora.

Vytvorme program na demonštráciu triedy stringstream na konverziu údajov reťazca na celé číslo v programovacom jazyku C++.

menná konvencia java

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; } 

Výkon

 The string value is: 143 The representation of the string to integer type data is: 143 

Vo vyššie uvedenom programe používame triedu stringstream na vytvorenie objektu obj a pomáha konvertovať údaje reťazca na celé číslo. Potom použijeme operátor '<>' na extrahovanie konvertovaného reťazca z obj na číselné údaje.

Pomocou funkcie sscanf().

Funkcia sscanf() konvertuje daný reťazec na špecifikovaný dátový typ ako celé číslo.

syntax git pull

Syntax

 sccanf ( str, %d, &amp;intvar); 

Funkcia sscanf() má tri argumenty na určenie reťazca znakov (str), špecifikátora údajov (%d) a celočíselnej premennej (&intvar) na uloženie konvertovaného reťazca.

Algoritmus funkcie sscanf().

  1. Funkcia sscanf() patrí do triedy stringstream, takže triedu musíme importovať do nášho programu.
  2. Inicializujte reťazec konštantných znakov str.
  3. Vytvorte celočíselnú premennú na uchovávanie skonvertovaného reťazca na celočíselné hodnoty.
  4. Zadajte reťazcovú premennú do funkcie sscanf() a celočíselnej premennej priraďte funkciu sscanf() na uloženie celočíselnej hodnoty vygenerovanej funkciou.
  5. Vytlačte celočíselné hodnoty.

Uvažujme príklad použitia funkcie sscanf() na konverziu reťazca na číselné číslo v C++.

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></'>

Pomocou funkcie stoi().

Funkcia stoi() konvertuje údaje reťazca na celočíselný typ tak, že reťazec odovzdá ako parameter na vrátenie celočíselnej hodnoty.

Syntax

 stoi(str); 

Funkcia stoi() obsahuje argument str. Reťazec str prechádza do funkcie stoi() na konverziu údajov reťazca na celočíselné hodnoty.

Algoritmus funkcie stoi().

skener.ďalej java
  1. Inicializujte premennú reťazca na uloženie hodnôt reťazca.
  2. Potom vytvorí premennú celočíselného typu, ktorá uloží konverziu reťazca na údaje celočíselného typu pomocou funkcie stoi().
  3. Vytlačte hodnotu celočíselnej premennej.

Vytvorme program, ktorý použije funkciu stoi() na prevod hodnoty reťazca na typ celé číslo v programovacom jazyku 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;>

Pomocou funkcie atoi().

Funkcia atoi() sa používa na konverziu reťazca znakov na celočíselné hodnoty. Funkcia atoi() odovzdá reťazec typu znaku na vrátenie celočíselných údajov.

Syntax

 atoi (const char *str); 

Algoritmus funkcie atoi().

  1. Inicializujte pole znakov typu ukazovateľ na uloženie reťazca.
  2. Potom vytvorí premennú celočíselného typu, ktorá uloží konverziu reťazca na údaje celočíselného typu pomocou funkcie atoi().
  3. Vytlačte hodnotu celočíselnej premennej.

Vytvorme program, ktorý použije funkciu atoi() na prevod hodnoty reťazca na typ celé číslo v programovacom jazyku 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;>