logo

Konverter streng til heltal i C++

Dette afsnit vil diskutere de forskellige metoder til at konvertere de givne strengdata til et heltal ved hjælp af C++ programmeringssproget. Der er nogle situationer eller tilfælde, hvor vi skal konvertere en bestemt data til en anden type, og en sådan situation er at konvertere streng til int-data i programmering.

For eksempel har vi en numerisk streng som ' 143 ', og vi ønsker at konvertere den til en numerisk type. Vi skal bruge en funktion, der konverterer en streng til et heltal og returnerer de numeriske data som 143. Nu vil vi lære hver metode, der hjælper med at konvertere strengdata til heltal i programmeringssproget C++.

Konverter streng til heltal i C++

Forskellige metoder til at konvertere strengdata til heltal i programmeringssproget C++.

  1. Brug af stringstream-klassen
  2. Brug af stoi()-funktionen
  3. Brug af atoi()-funktionen
  4. Brug af sscanf()-funktionen

Brug af stringstream-klassen

Det strengstrøm er en klasse, der bruges til at konvertere en numerisk streng til en int-type. Stringstream-klassen erklærer et stream-objekt for at indsætte en streng som et stream-objekt og udtrækker derefter de konverterede heltalsdata baseret på streams. Stringstream-klassen har '<>'-operatorer, som bruges til at hente data fra (<>) venstre operator.

Lad os oprette et program til at demonstrere stringstream-klassen til at konvertere strengdataene til et heltal i programmeringssproget C++.

strengsammenkædning

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

Produktion

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

I ovenstående program bruger vi stringstream-klassen til at skabe et obj-objekt, og det hjælper med at konvertere strengdata til et heltal. Vi bruger derefter '<>'-operatoren til at udtrække den konverterede streng fra obj til numeriske data.

Brug af sscanf()-funktionen

En sscanf() funktion konverterer en given streng til en specificeret datatype som et heltal.

streng opdeling c++

Syntaks

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

Funktionen sscanf() har tre argumenter til at angive char-strengen (str), dataspecifikationen (%d) og heltalsvariablen (&intvar) for at gemme den konverterede streng.

Algoritme for sscanf()-funktionen

  1. Funktionen sscanf() tilhører stringstream-klassen, så vi skal importere klassen til vores program.
  2. Initialiser en konstant tegnstreng str.
  3. Opret en heltalsvariabel til at holde den konverterede streng til heltalsværdier.
  4. Send strengvariablen til funktionen sscanf() og tildel funktionen sscanf() til heltalsvariablen for at gemme den heltalsværdi, der genereres af funktionen.
  5. Udskriv heltalværdierne.

Lad os overveje et eksempel for at bruge funktionen sscanf() til at konvertere strengen til et numerisk tal i 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></'>

Brug af stoi()-funktionen

Stoi()-funktionen konverterer en strengdata til en heltalstype ved at sende strengen som en parameter for at returnere en heltalsværdi.

Syntaks

 stoi(str); 

Stoi()-funktionen indeholder et str-argument. Str-strengen sendes inde i stoi()-funktionen for at konvertere strengdata til en heltalsværdi.

Algoritme for stoi()-funktionen

java enums
  1. Initialiser strengvariablen for at gemme strengværdier.
  2. Derefter opretter den en heltalstypevariabel, der gemmer konverteringen af ​​streng til heltalstypedata ved hjælp af stoi()-funktionen.
  3. Udskriv heltalsvariabelværdien.

Lad os oprette et program til at bruge stoi()-funktionen til at konvertere strengværdien til heltalstypen i programmeringssproget 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;>

Brug af atoi()-funktionen

En atoi()-funktion bruges til at konvertere tegnstrengen til en heltalsværdi. En atoi()-funktion sender tegntypestrengen for at returnere heltaldata.

Syntaks

 atoi (const char *str); 

Algoritme for atoi()-funktionen

  1. Initialiser et tegnarray af pointertype for at gemme en streng.
  2. Derefter opretter den en heltalstypevariabel, der gemmer konverteringen af ​​streng til heltalstypedata ved hjælp af atoi()-funktionen.
  3. Udskriv heltalsvariabelværdien.

Lad os oprette et program til at bruge funktionen atoi() til at konvertere strengværdien til heltalstypen i programmeringssproget 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;>