Esta seção discutirá os diferentes métodos para converter os dados de string fornecidos em um número inteiro usando a linguagem de programação C++. Existem algumas situações ou casos em que precisamos converter um determinado dado para outro tipo, e uma dessas situações é converter string em dados int na programação.
Por exemplo, temos uma string numérica como ' 143 ', e queremos convertê-lo para um tipo numérico. Precisamos usar uma função que converte uma string em um inteiro e retorna os dados numéricos como 143. Agora, aprenderemos cada método que ajuda a converter dados de string em inteiros na linguagem de programação C++.
Diferentes métodos para converter os dados de string em inteiros na linguagem de programação C++.
- Usando a classe stringstream
- Usando a função stoi()
- Usando a função atoi()
- Usando a função sscanf()
Usando a classe stringstream
O stringstream é uma classe usada para converter uma string numérica em um tipo int. A classe stringstream declara um objeto de fluxo para inserir uma string como um objeto de fluxo e, em seguida, extrai os dados inteiros convertidos com base nos fluxos. A classe stringstream possui operadores '<>', que são usados para buscar dados do operador esquerdo (<>).
Vamos criar um programa para demonstrar a classe stringstream para converter os dados da string em um número inteiro na linguagem de programação C++.
string.formato em java
Programa1.cpp
#include #include // use stringstream class using namespace std; int main() { string str1 = '143'; // 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 <> intdata; // fetch integer type data cout << ' The string value is: ' << str1 << endl; cout << ' The representation of the string to integer type data is: ' << intdata << endl; return 0; }
Saída
The string value is: 143 The representation of the string to integer type data is: 143
No programa acima, usamos a classe stringstream para criar um objeto obj e isso ajuda a converter dados de string em um número inteiro. Em seguida, usamos o operador '<>' para extrair a string convertida de obj em dados numéricos.
Usando a função sscanf()
Uma função sscanf() converte uma determinada string em um tipo de dados especificado, como um número inteiro.
Sintaxe
verifique se há nulo em java
sccanf ( str, %d, &intvar);
A função sscanf() possui três argumentos para especificar a string char (str), o especificador de dados (%d) e a variável inteira (&intvar) para armazenar a string convertida.
Algoritmo da função sscanf()
- A função sscanf() pertence à classe stringstream, então precisamos importar a classe para o nosso programa.
- Inicialize uma string de caracteres constante str.
- Crie uma variável inteira para armazenar a string convertida em valores inteiros.
- Passe a variável string para a função sscanf() e atribua a função sscanf() à variável inteira para armazenar o valor inteiro gerado pela função.
- Imprima os valores inteiros.
Vamos considerar um exemplo de uso da função sscanf() para converter a string em um número numérico em C++.
Programa2.cpp
#include #include // use stringstream class using namespace std; int main () { // declare the character strings const char *str1 = '555'; const char *str2 = '143'; const char *str3 = '101'; // 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, '%d', &numdata1); cout <<' 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'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 = '108'; string strdata2 = '56.78'; string strdata3 = '578 Welcome'; // 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 << ' The conversion of string to an integer using stoi('' << strdata1 << '') is ' << intdata1 <<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('108') is 108 The conversion of string to an integer using stoi('56.78') is 56 The conversion of string to an integer using stoi('578 Welcome') 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'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 = '256'; const char *strdata2 = '16.18'; const char *strdata3 = '1088 Good Bye'; // 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 << ' The conversion of string to an integer value using atoi('' << strdata1 << '') is ' << intdata1 <<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('256') is 256 The conversion of string to an integer value using atoi('16.18') is 16 The conversion of string to an integer value using atoi('1088 Good Bye') is 1088 </pre> <hr></endl;></pre></endl;></pre></'>
Usando a função stoi()
A função stoi() converte dados de string em um tipo inteiro, passando a string como parâmetro para retornar um valor inteiro.
Sintaxe
stoi(str);
A função stoi() contém um argumento str. A string str é passada dentro da função stoi() para converter os dados da string em um valor inteiro.
Algoritmo da função stoi()
- Inicialize a variável string para armazenar valores de string.
- Depois disso, ele cria uma variável do tipo inteiro que armazena a conversão de string em dados do tipo inteiro usando a função stoi().
- Imprima o valor da variável inteira.
Vamos criar um programa para usar a função stoi() para converter o valor da string no tipo inteiro na linguagem de programação C++.
Programa3.cpp
#include #include using namespace std; int main () { string strdata1 = '108'; string strdata2 = '56.78'; string strdata3 = '578 Welcome'; // 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 << ' The conversion of string to an integer using stoi('' << strdata1 << '') is ' << intdata1 <<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('108') is 108 The conversion of string to an integer using stoi('56.78') is 56 The conversion of string to an integer using stoi('578 Welcome') 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'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 = '256'; const char *strdata2 = '16.18'; const char *strdata3 = '1088 Good Bye'; // 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 << ' The conversion of string to an integer value using atoi('' << strdata1 << '') is ' << intdata1 <<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('256') is 256 The conversion of string to an integer value using atoi('16.18') is 16 The conversion of string to an integer value using atoi('1088 Good Bye') is 1088 </pre> <hr></endl;></pre></endl;>
Usando a função atoi()
Uma função atoi() é usada para converter a string de caracteres em um valor inteiro. Uma função atoi() passa a string do tipo de caractere para retornar os dados inteiros.
quantos MB tem um GB
Sintaxe
atoi (const char *str);
Algoritmo da função atoi()
- Inicialize uma matriz de caracteres do tipo ponteiro para armazenar uma string.
- Depois disso, ele cria uma variável do tipo inteiro que armazena a conversão de string em dados do tipo inteiro usando a função atoi().
- Imprima o valor da variável inteira.
Vamos criar um programa para usar a função atoi() para converter o valor da string no tipo inteiro na linguagem de programação C++.
Programa4.cpp
#include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = '256'; const char *strdata2 = '16.18'; const char *strdata3 = '1088 Good Bye'; // 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 << ' The conversion of string to an integer value using atoi('' << strdata1 << '') is ' << intdata1 <<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('256') is 256 The conversion of string to an integer value using atoi('16.18') is 16 The conversion of string to an integer value using atoi('1088 Good Bye') is 1088 </pre> <hr></endl;>
'>