logo

Muunna merkkijono kokonaisluvuksi C++:ssa

Tässä osiossa käsitellään erilaisia ​​tapoja muuntaa annetut merkkijonotiedot kokonaisluvuiksi käyttämällä C++-ohjelmointikieltä. On joitakin tilanteita tai tapauksia, joissa meidän on muutettava tietty data toiseen tyyppiin, ja yksi tällainen tilanne on muuntaa merkkijono int-dataksi ohjelmoinnissa.

Meillä on esimerkiksi numeerinen merkkijono ' 143 ', ja haluamme muuntaa sen numeeriseksi. Meidän on käytettävä funktiota, joka muuntaa merkkijonon kokonaisluvuksi ja palauttaa numeeriset tiedot muodossa 143. Nyt opimme jokaisen menetelmän, joka auttaa muuttamaan merkkijonotiedot kokonaisluvuiksi C++-ohjelmointikielellä.

Muunna merkkijono kokonaisluvuksi C++:ssa

Eri menetelmiä merkkijonotietojen muuttamiseksi kokonaisluvuiksi C++-ohjelmointikielellä.

  1. Stringstream-luokan käyttäminen
  2. Käyttämällä stoi()-funktiota
  3. Käyttämällä atoi()-funktiota
  4. Käyttämällä sscanf()-funktiota

Stringstream-luokan käyttäminen

The stringstream on luokka, jota käytetään muuttamaan numeerinen merkkijono int-tyypiksi. Merkkijonoluokka ilmoittaa stream-objektin lisäämään merkkijonon virtaobjektiksi ja poimii sitten muunnetun kokonaislukudatan virtojen perusteella. Stringstream-luokassa on '<>'-operaattoreita, joita käytetään tietojen noutamiseen (<>) vasemmasta operaattorista.

Tehdään ohjelma esittelemään merkkijonoluokkaa merkkijonotietojen muuntamiseksi kokonaisluvuksi C++-ohjelmointikielellä.

mukautettu poikkeus javassa

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

Lähtö

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

Yllä olevassa ohjelmassa käytämme stringstream-luokkaa luomaan obj-objekti, ja se auttaa muuttamaan merkkijonotiedot kokonaisluvuksi. Käytämme sitten '<>'-operaattoria poimimaan muunnetun merkkijonon obj:sta numeerisiksi tiedoiksi.

Käyttämällä sscanf()-funktiota

Sscanf()-funktio muuntaa tietyn merkkijonon määritetyksi tietotyypiksi, kuten kokonaisluvuksi.

Syntaksi

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

Sscanf()-funktiossa on kolme argumenttia, jotka määrittävät merkkijonon (str), tietomääritteen (%d) ja kokonaislukumuuttujan (&intvar) muunnetun merkkijonon tallentamiseksi.

mikä on map java

Sscanf()-funktion algoritmi

  1. Funktio sscanf() kuuluu stringstream-luokkaan, joten meidän on tuotava luokka ohjelmaamme.
  2. Alusta vakiomerkkijono str.
  3. Luo kokonaislukumuuttuja pitääksesi muunnetun merkkijonon kokonaislukuarvoiksi.
  4. Välitä merkkijonomuuttuja sscanf()-funktioon ja määritä sscanf()-funktio kokonaislukumuuttujalle tallentaaksesi funktion luoman kokonaisluvun.
  5. Tulosta kokonaislukuarvot.

Tarkastellaan esimerkkiä sscanf()-funktion käyttämisestä merkkijonon muuntamiseen numeerisiksi numeroiksi C++:ssa.

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

Käyttämällä stoi()-funktiota

Stoi()-funktio muuntaa merkkijonotiedot kokonaislukutyypiksi välittämällä merkkijonon parametrina kokonaisluvun arvon palauttamiseksi.

Syntaksi

 stoi(str); 

Funktio stoi() sisältää str-argumentin. Str-merkkijono välitetään stoi()-funktion sisällä merkkijonotietojen muuntamiseksi kokonaislukuarvoksi.

Stoi()-funktion algoritmi

  1. Alusta merkkijonomuuttuja merkkijonoarvojen tallentamiseksi.
  2. Sen jälkeen se luo kokonaislukutyyppisen muuttujan, joka tallentaa merkkijonon muuntamisen kokonaislukutyyppisiksi tiedoiksi käyttämällä stoi()-funktiota.
  3. Tulosta muuttujan kokonaislukuarvo.

Tehdään ohjelma, joka käyttää stoi()-funktiota merkkijonon arvon muuntamiseen kokonaislukutyypiksi C++-ohjelmointikielessä.

Ohjelma3.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;>

Käyttämällä atoi()-funktiota

Atoi()-funktiota käytetään muuttamaan merkkijono kokonaislukuarvoksi. Atoi()-funktio välittää merkkijonon palauttaakseen kokonaislukutiedot.

Syntaksi

 atoi (const char *str); 

Atoi()-funktion algoritmi

  1. Alusta osoitintyyppinen merkkijono tallentaaksesi merkkijonon.
  2. Sen jälkeen se luo kokonaislukutyyppisen muuttujan, joka tallentaa merkkijonon muuntamisen kokonaislukutyyppisiksi tiedoiksi käyttämällä atoi()-funktiota.
  3. Tulosta muuttujan kokonaislukuarvo.

Luodaan ohjelma, joka käyttää atoi()-funktiota merkkijonon arvon muuntamiseen kokonaislukutyypiksi C++-ohjelmointikielessä.

git pull origin master

Ohjelma4.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;>