logo

Konvertieren Sie eine Zeichenfolge in C++ in eine Ganzzahl

In diesem Abschnitt werden die verschiedenen Methoden zum Konvertieren der angegebenen Zeichenfolgendaten in eine Ganzzahl mithilfe der Programmiersprache C++ erläutert. Es gibt Situationen oder Fälle, in denen wir bestimmte Daten in einen anderen Typ konvertieren müssen. Eine solche Situation ist die Konvertierung von String-Daten in Int-Daten in der Programmierung.

Wir haben zum Beispiel eine numerische Zeichenfolge als ' 143 ', und wir möchten es in einen numerischen Typ konvertieren. Wir müssen eine Funktion verwenden, die einen String in eine Ganzzahl umwandelt und die numerischen Daten als 143 zurückgibt. Jetzt lernen wir jede Methode kennen, die dabei hilft, String-Daten in Ganzzahlen in der Programmiersprache C++ umzuwandeln.

Konvertieren Sie eine Zeichenfolge in C++ in eine Ganzzahl

Verschiedene Methoden zum Konvertieren der String-Daten in Ganzzahlen in der Programmiersprache C++.

  1. Verwendung der Stringstream-Klasse
  2. Verwendung der Funktion stoi()
  3. Verwendung der Funktion atoi()
  4. Verwendung der Funktion sscanf()

Verwendung der Stringstream-Klasse

Der Stringstream ist eine Klasse, die zum Konvertieren einer numerischen Zeichenfolge in einen int-Typ verwendet wird. Die Stringstream-Klasse deklariert ein Stream-Objekt, um einen String als Stream-Objekt einzufügen und extrahiert dann die konvertierten Ganzzahldaten basierend auf den Streams. Die Stringstream-Klasse verfügt über „<>“-Operatoren, die zum Abrufen von Daten vom linken Operator (<>) verwendet werden.

Lassen Sie uns ein Programm erstellen, um die Stringstream-Klasse zum Konvertieren der String-Daten in eine Ganzzahl in der Programmiersprache C++ zu demonstrieren.

Einfügungssortierung in Java

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

Ausgabe

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

Im obigen Programm verwenden wir die Stringstream-Klasse, um ein obj-Objekt zu erstellen, und sie hilft dabei, String-Daten in eine Ganzzahl umzuwandeln. Anschließend verwenden wir den Operator „<>“, um die konvertierte Zeichenfolge aus obj in numerische Daten zu extrahieren.

Verwendung der Funktion sscanf()

Eine sscanf()-Funktion wandelt eine bestimmte Zeichenfolge in einen angegebenen Datentyp wie eine Ganzzahl um.

Syntax

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

Die Funktion sscanf() verfügt über drei Argumente zur Angabe der Zeichenzeichenfolge (str), des Datenspezifizierers (%d) und der Ganzzahlvariablen (&intvar) zum Speichern der konvertierten Zeichenfolge.

Algorithmus der Funktion sscanf()

  1. Die Funktion sscanf() gehört zur Stringstream-Klasse, daher müssen wir die Klasse in unser Programm importieren.
  2. Initialisieren Sie eine konstante Zeichenfolge str.
  3. Erstellen Sie eine Ganzzahlvariable, um die konvertierte Zeichenfolge in Ganzzahlwerte zu speichern.
  4. Übergeben Sie die Zeichenfolgenvariable an die Funktion sscanf() und weisen Sie die Funktion sscanf() der Ganzzahlvariablen zu, um den von der Funktion generierten Ganzzahlwert zu speichern.
  5. Drucken Sie die ganzzahligen Werte aus.

Betrachten wir ein Beispiel für die Verwendung der Funktion sscanf() zum Konvertieren der Zeichenfolge in eine numerische Zahl in C++.

Programm2.cpp

Saira Banu-Schauspielerin
 #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></'>

Verwendung der Funktion stoi()

Die Funktion stoi() konvertiert Zeichenfolgendaten in einen Ganzzahltyp, indem sie die Zeichenfolge als Parameter übergibt, um einen Ganzzahlwert zurückzugeben.

Syntax

 stoi(str); 

Die Funktion stoi() enthält ein str-Argument. Der String str wird innerhalb der Funktion stoi() übergeben, um String-Daten in einen ganzzahligen Wert umzuwandeln.

kmp-Algorithmus

Algorithmus der Funktion stoi()

  1. Initialisieren Sie die String-Variable, um String-Werte zu speichern.
  2. Anschließend wird eine Variable vom Typ „Ganzzahl“ erstellt, die die Konvertierung von Zeichenfolgen in Daten vom Typ „Ganzzahl“ mithilfe der Funktion stoi() speichert.
  3. Drucken Sie den ganzzahligen Variablenwert.

Erstellen wir ein Programm, das mithilfe der Funktion stoi() den String-Wert in den Integer-Typ in der Programmiersprache C++ konvertiert.

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

Verwendung der Funktion atoi()

Eine atoi()-Funktion wird verwendet, um die Zeichenfolge in einen ganzzahligen Wert umzuwandeln. Eine atoi()-Funktion übergibt den Zeichentyp String, um die ganzzahligen Daten zurückzugeben.

Syntax

 atoi (const char *str); 

Algorithmus der Funktion atoi()

  1. Initialisieren Sie ein Zeichenarray vom Zeigertyp, um eine Zeichenfolge zu speichern.
  2. Anschließend wird eine Variable vom Typ „Ganzzahl“ erstellt, die die Konvertierung von Zeichenfolgen in Daten vom Typ „Ganzzahl“ mithilfe der Funktion atoi() speichert.
  3. Drucken Sie den ganzzahligen Variablenwert.

Erstellen wir ein Programm, das mithilfe der Funktion atoi() den String-Wert in den Integer-Typ in der Programmiersprache C++ konvertiert.

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