C++ Tutorial Index

C++ Tutorial C++ History C++ Installation C++ First Program C++ cin and cout C++ Data type C++ Variable C++ operator C++ Keywords

C++ Control Statements

C++ If C++ Nested if C++ If-else C++ If-else-if C++ Switch C++ Break C++ Continue C++ Goto C++ For loop C++ While loop C++ Do while loop

C++ Functions

C++ Call by Value C++ Call by Reference C++ Recursion Function C++ Inline function C++ Friend function

C++ Arrays

Single dimension array Two dimension array

C++ Strings

C++ Strings

C++ Inheritance

C++ Inheritance Single level Inheritance Multilevel Inheritance Multiple Inheritance Hierarchical Inheritance Hybrid Inheritance

C++ Polymorphism

C++ Polymorphism C++ Overloading C++ Overriding C++ Virtual Function

C++ Pointers

C++ Pointers C++ this pointer

C++ Exception Handling

C++ Exception Handling

C++ Constructors

C++ Constructors Default Constructor Parameterize Constructor Copy constructor Constructor Overloading Destructor

C++ File Handling

C++ File Handling C++ Writing to file C++ Reading file C++ Close file

Miscellaneous

C Vs C++ C++ Comments C++ Data Abstraction C++ Identifier C++ Memory Management C++ Storage Classes C++ Void Pointer C++ Array To Function C++ Expressions C++ Features C++ Interfaces C++ Encapsulation std::min in C++ External merge sort in C++ Remove duplicates from sorted array in C++ Precision of floating point numbers Using these functions floor(), ceil(), trunc(), round() and setprecision() in C++ C++ References C++ Friend Functions C++ Mutable keyword Unary Operators in C++ Initialize Array of objects with parameterized constructors in C++ Differences between #define & const in C/C++ C++ Program to Implement Shell Sort C++ Program to Implement Merge Sort Storage Classes in C Vector resize() in C++ Passing by Reference Vs. Passing by the pointer in C++ Free vs delete() in C++ goto statement in C and C++ C++ program to read string using cin.getline() C++ String Concatenation Heap Sort in C++ Swap numbers in C++ Input Iterators in C++ Fibonacci Series in C++ C ++ Program: Alphabet Triangle and Number Triangle C++ Program: Matrix Multiplication C++ Program to Print Fibonacci Triangle Stack in C++ Maps in C++ Queue in C++ C++ Bitset C++ Algorithms Priority Queue in C++ C++ Multimap C++ Deque Function Pointer in C++ Sizeof() Operators in C++ C++ array of Pointers free() Vs delete in C Timsort Implementation Using C++ CPP Templates C++ Aggregation C++ Enumeration C++ Math Functions C++ Object Class C++ Queue Initialize Vector in C++ Vector in C++ C++ STL Components Function overloading in C++ C++ Maximum Index Problem C++ find missing in the second array C++ Program to find the product array puzzle C++ Program To Find Largest Subarray With 0 Sum C++ Program To Move All Zeros To The End Of The Array C++ Program to find the element that occurs once C++ Program to find the largest number formed from an array Constructor Vs Destructor C++ Namespaces C++ OOPs Concept C++ Static C++ Structs C++ Try-Catch C++ User Defined Exceptions C++ Virtual Destructor C++ vs C# Malloc() and new in C++ Palindrome Number Program in C++ Snake Code in C++ Splitting a string in C++ Structure Vs Class in C++ Virtual Function Vs Pure Virtual Function C++ Bidirectional Iterators C++ Forward Iterators C++ Iterators C++ Output Iterators C++ Range-based For Loop Converting string into integer in C++ LCM Program in C++ Type conversion in C++ Add two numbers using the function in C++ Advantage and disadvantage friend function C++ Armstrong Number Program in C++ ATM machine program in C++ using functions Binary to Decimal in C++ Bit Manipulation in C++ C++ Constructor C++ Dijkstra Algorithm Using the Priority Queue C++ int into String C++ Signal Handling Decimal to Binary in C++ Decimal to Hexadecimal in C++ Decimal to Octal in C++ Factorial Program in C++ Function in C++ Hexadecimal to Decimal in C++ Octal to Decimal in C++ Reverse a Number in C++ Structure Vs Class in C++ C++ Forward Iterators C++ Output Iterators C++ Prime number program Char Array to String in C++ Constructor Overloading in C++ Default arguments in C++ Different Ways to Compare Strings in C++ Dynamic Binding in C++ Program to convert infix to postfix expression in C++ SET Data Structure in C++ Upcasting and Downcasting in C++ Reverse an Array in C++ Fast Input and Output in C++ Delete Operator in C++ Copy elision in C++ C++ Date and Time C++ Bitwise XOR Operator Array of sets in C++ Binary Operator Overloading in C++ Binary Search in C++ Implementing the sets without C++ STL containers Scope Resolution Operator in C++ Smart pointers in C++ Types of polymorphism in C++ Exception Handling in C++ vs Java Const Keyword in C++ Type Casting in C++ Static keyword in C++ vs Java Inheritance in C++ vs Java How to concatenate two strings in C++ Programs to Print Pyramid Patterns in C++ swap() function in C++ Structure of C++ Program Stringstream in C++ and its applications rand() and srand() in C / C++ C++ Ternary Operator C++ Scope of Variables While Loop Examples in C++ Star pattern in C++ using For Loops For Loop Examples in C++ Do-While Loop Examples in C++ Top 5 IDEs for C++ That You Should Try Once Assertions in C/C++ C++ Convert Int to String Continue in C++ While loop Diamond Pattern in C++ using For Loop How to Reverse a String in C++ using Do-While Loop How to Reverse a String in C++ using For Loop How to Reverse a String in C++ using While Loop Infinite loop in C++ Loops in C++

Converting string into integer in C++

When programming in C++, we'll frequently need to change one data type to another.

When we use C++ to create apps, we must transform data from one type to another. When we convert existing data to a new type, we should ensure that no data is lost. This is particularly the case when converting data from strings to integers and vice versa.

C++ Datatypes :

There are a few built-in data types in the C++ programming language:

int - integer (whole) numbers (int) (for example 6, 90)

double - For floating point numbers, use double (for example 7.0, 3.4)

char - It is used for single characters (such as ‘S’ and '!')

string - string is a character sequence (for example "Hey")

bool - For boolean values, use bool (either true or false)

C++ is a highly typed programming language, which means you must state explicitly what kind of value will be stored in a variable when you create it.

Declaring and initializing int in C++ :

To create an int variable in C++, you must first write the variable's data type, which is in this instance int. This tells the compiler what kinds of values the variable can hold and hence what actions it can do. We then give it a name and then assign a value to it.

Syntax:

#include <iostream>


int main() {
    int date;
    date = 24;
}

Declaring and initializing string in C++:

Declaring and initialising strings in C++ is quite similar to declaring and initialising int, as you saw in the previous section.

A string class is included in the C++ standard library. After #include <iostream>, you must include the <string> header library at the start of your program to utilise the string data type. You may also use the namespace std; that you saw before after adding that header file. You won't have to use std::string when establishing a string variable after adding this line since string will suffice.

Syntax :

#include <iostream>
#include <string>
using namespace std;


int main() {
    string greet;
    greet = "Hey";
}

Conversion of string to int in C++ :

Since C++ is a highly typed language, the data type definition of the variable is required. For programming purposes, it is sometimes necessary to convert the datatype of a variable through one type to another, such as string into int or int to string. This sort of conversion may be accomplished in C++ utilising several built-in functions. The following examples demonstrate how to convert a string to an int in C++.

The various techniques in the C++ that are used to transform string data into int are :

  • atoi() function
  • stoi() function
  • stringstream class
  • sscanf() function
  • for loop

Conversion of string to int in C++ using atoi() function :

The atoi() method converts a string formed by one char array to something like an integer and returns a number. To use this function, you must include the cstdlib header file.

Syntax :

int atoi(const chars *strng)

Example :

//Included for printing the output of the program
#include <iostream>
//Included for using the atoi() function in the program
#include <cstdlib>
//Included for using the strcpy function in the program
#include <cstring>
intmain() {
    //Declaring the string variables
    std::string stData;
    //Declaring the chracter array variables
    charstarr[60];


    //Taking any number from the user
    std::cout<”Enter any number : ”>stData;


    //Converting the given string to a charcater array
    stcpy(starr, stData.c_str());
    //Converting the character array to an integer data type


    int numr = std::atoi(starr);
    //Printing the entered number from the user
    std::cout<<"The number after conversion is = "<< num <<'\n';
    return0;
}

Output :

Enter any number : 2022
The number after conversion is = 2022

Explanation :

The preceding code was used to create a C++ file that used the atoi() function to transform a string of numbers into an integer. The string was converted into a char array using the strcpy() method. The input string value was transformed to a char array, which was then utilised in the atoi() method to extract the string's integer value. If the conversion is successful, the modified integer will be printed, which is shown here in the output.

Conversion of string to int in C++ using stoi() :

The atoi() method converts a string data type value into an int and returns a number. This function's first parameter is required, but the remaining arguments are optional. This function's syntax is listed below-

Syntax :

int stoi (const string& strng, size__t* idx = 0, int base = 10)

Example :

//Included for the printing of the output
#include <iostream>
int main()
{
    //Declaring the string variable
    std::string stData;


    //Taking a random number from the programmer
    std::cout<”Enter any number : ”>stData;


    //Converting a string to a number with an error handling method
    try {
        //Converting a string to an int
        int num = std::stoi(stData);
        //Printing the number that has been converted
        std::cout<<"The number after conversion is = "<< num <<'\n';
    }
    //Handling error if the invalid number is given as input
    catch (std::invalid_argconst&e) {
        std::cout<<"Error! Input value is not a number or integer value.\n";
    }
    return0;
}

Output :

Enter any number : 2023
The number after conversion is = 2023

Explanation :

We used the stoi() method to convert a string into an int and built a C++ file containing the above code. If the input value provided by the user is a valid number, the code will convert it to an int number and output it. The invalid argument exception will be thrown and an error message will be written if input value includes an alphabet or non-numeric character.

Difference between atoi() and stoi() :

  • atoi() is a C-style function from the past. stoi() is a new function in C++ 11.
  • stoi() works with both C++ and C style strings, but atoi() only works with C-style strings (char array and string literal).
  • atoi() only accepts one argument and returns an integer value.
  • stoi() may accept up to three parameters: the second argument is for the beginning index, and the third parameter is for the base of the input number.

Conversion of string to int in C++ using string streams :

Another technique to convert a string to an integer is to use the istringstream() function with the '>>' operator.

Example :

Example :
//Included for the printing of the output


#include <iostream>


//Include for using istringstream() function in the program


#include <sstream>


int main()
{
    //Declaring the string variables
    std::string stData = "100";
    //Declaring an int variable
    int num;
    //Converting the string to the int
    std::istringstream(stData) >> num;
    //Printing the number that is converted
    std::cout<<"The number after conversion is = "<< num <<'\n';
    return0;
}

Output :

The number after conversion is = 100

Explanation :

We created a C++ file containing the above code to use the istringstream() method to transform string data type into an int. In the code, a string value of numbers was set to a string variable and utilised as the arguments value of the istringstream() method. After that, the modified integer value was displayed.

Conversion of string to int in C++ using sscanf() function :

Another option is to use the sscanf() function to convert the string to an integer. This function requires the inclusion of the cstdio header file.

Example :

//Included for the printing of the output
#include <iostream>
//Included for using sscanf() function in the program
#include <cstdio>
int main() {
//Declaring the string variable
std::string stData;
//Declaring the int variable
Int num;


//Taking the number from the programmer
std::cout<”Enter any number : ”>stData;
if (sscanf(stData.c_str(), "%d", &num) == 1) {
//Printing the number that is converted
std::cout<<"The number after conversion is = "<< num <<'\n';
}
else {
//Printing the error message for invalid input
std::cout<<"Input value is not a valid number as required.\n";
}
return0;
}

Output :

Enter any number : 2025
The number after conversion is = 2025

Explanation :

Using the sscanf() method, we generated a C++ file containing the above code to convert string value to an int. Following the execution of the script, the user will be given a string value. If the input data is a valid number, it will be transformed to an int and shown, else an error message will be displayed.

Conversion of string to int in C++ using for loop :

Without utilising any built-in functions, the following example demonstrates what to do to convert a string value to an integer value by just using a for loop.

Example :

#include <iostream>
#include <string>
int main()
{
    //Declaring the string variable
    std::string stData = "1000";
    //Declaring the int variable
    Int num;


    //Converting the given string to an int
    for (char ch: stData)
    {
        if (ch>= '0' && ch<= '9') {
        num = num * 10 + (ch - '0');
    }


    //Printing the number that is converted
    std::cout<<"The number after conversion is = "<< num <<'\n';
    return0;
}

Output :

The number after conversion is = 1000

Explanation :

Using the 'for' loop, we generated a C++ file containing the following code to transform a text value into an int or number. The number's string value was set to a variable, which was then utilised in the 'for' loop to transform the string to an integer and was later printed as the converted number in the output.

Conclusion:

This article explains five distinct techniques to convert a string to an integer using easy examples to help readers understand how to convert a string into an int in C++ programming language.



ADVERTISEMENT
ADVERTISEMENT