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++ Returning Multiple Values from a Function using Tuple and Pair in C++ wcscpy(), wcslen(), wcscmp() Functions in C++ Auto keyword in C++ C++ 11 vs C++ 14 vs C++ 17 C++ STL (Standard Template Library) Differences Between C Structures and C++ Structures Divide by Zero Exception in C++ Dynamic Constructor in C++ Dynamic Memory Allocation in C++ Find the Size of Array in C/C++ without using sizeof() function Floating Point Operations and Associativity in C, C++ and Java Hello World Program in C++ How to create a table in C++ How to Setup Environment for C++ Programming on Mac Implementation of a Falling Matrix in C++ Message Passing in C++ Pointer to Object in C++ Templates in C++ vs Generics in Java Ways to Copy a Vector in C++ What does Buffer Flush mean in C++ sort() function in C++ Structure Sorting (By Multiple Rules) in C++ Similarities between C++ and Java std::distance in C++ Array program in C++ C++ Tricks for Competitive Programming Desired Capabilities in Selenium Web Driver in C++ Socket Programming in C++ Template Specialization in C++ Classes and Objects in C++ Convex hull Algorithm in C++ DES in C++ C++ vardiac() function Difference between Two Sets in C++ Difference between Exit and Return Structured Binding in C++ Differences between Local and Global Variable Bitwise Operator vs Logical Operator Difference between OOP and POP in C++ Fork in C++ Functors in C++ How to call a void function in C++ How to create a directory or folder in C/C++ How to create a library in C++ How to create a stack in C++ How to create the Processes with Fork in C++ How to Handle Divide by Zero Exception in C++ Lambda Expression in C++ Pattern programs in C++ Roadmap to C++ Programming Substring in C++ Virtual base class in C++ Bits stdc++.h in C++ Top 14 Best Free C++ IDE (Editor & Compiler) for Windows in 2022 Bitmasking in C++ Auto Keyword in C++ Features of OOPS in C++ Hospital Management Project in C++ How to Declare Unordered Sets in C++ How to Sort an Array in C++ Include Guards in C++ Iostream in C++ Method overriding in C++ How to run program in turbo c++ How to Use Getline in C++ Leap Year Program in C++ Naming Convention in C++ New Operator in C++ Nullptr in C++ Object Slicing in C++ Principles of Object-Oriented Programming in C++ Processing strings using std string stream in C++ Pure Virtual Function in C++ With Example Program Random Number Generator in C++ Singleton Design Pattern in C++ Size_t Data Type in C++ Skyline Problem in C++ System() function in C++ Web Development in C++ Data Hiding in C++ Difference between exit() and _Exit() in C++ Hashing in C++ Object in C++ Sum of all Elements between k1’th and k2’th Smallest Elements Virtual class in C++ Vector Size in C++ Top best IDEs for C/C++ Developers in 2022 Tensorflow in C++ Sliding Window Technique in C++ Reverse String Word-Wise in C++ Returning a Function Pointer from a Function in C/C++ RTTI in C++ Pthreads or POSIX Threads in C++ Reserved Keywords in C++ Passing a Vector to a function in C++ 10 Best C and C++ Books for Beginners & Advanced Programmers Add two numbers represented by two arrays in C++ Array of Object in C++ C++ Program For FCFS Containership in C++ Counting Frequencies of Array Elements in C++ Decltype type Specifier in C++ Dynamic _Cast in C++ Difference between int main() and int main(void) in C/C++ Depth First Search Program to Traverse a Graph in C++ Features and Use Of Pointers in C/C++ Fread Function in C++ Programming Fscanf Function in The C++ Functions in C++ With Types and Examples Gmtime Function in C/C++ How is Multiset Implemented in C++ How to Build a Program in C++ How to Declare a 2d Array Dynamically in C++ inheritance Program in C++ int Max and int Min in C/C++ is It Fine to Write Void Main Or Main in C/C++ How to create a button in C++ abs() function in C++ Compile Time Polymorphism in C++ Division in C++ Factorial of a Number in C++ using while Loop Multiset in C++ 4 Pillars of OOPs Approach in C++ Backtracking Time Complexity in C++ C++ Global Variable C++ Pipe Tutorial Observer Design Pattern in C++ Private Inheritance in C++ Pthread in C++ Parameters SDL library in C++ with Examples Pointers in C++ Abstract Factory Design Pattern in C++ Ascending order in C++ How the value is passed in C++ Call by Pointer in C++ Constexpr in C++ Deadlock in C++ Design Patterns in C++ Factory Method for Designing Pattern in C++ How to calculate size of string in C++ Name Mangling and extern in C++ Preventing Object Copy in C++ Program that produces different results in C and C++ Quick Sort in C++ Single Handling in C++ Type difference of Character literals in C VS C++ Use of Inheritance in C++ User-defined literals in C++ Vector methods in C++ Void * in C and C++ Zombie and Orphan Process in C++ Isprint() in C++ List and Vector in C++ List iterators in C++ Merging Two Vectors in C++ Sleep function in C++ Stoi function in C++ String erase() in C++ String Trim in C++ When should we write own Assignment operator in C++ C++ tcp client server example C++ tcp server example Early Binding and Late Binding in C++ Factory Design Pattern in C++ Fisher-Yates shuffle algorithm in C++ For Auto in C++ Group anagrams in C++ How to convert binary string to int in C++ How to convert string to float in C++ How to remove space from string in C++ How to use pair in C++ How to use the string find() in C++ Dynamic Casting in C++ 2D Vector Initialization in C++ C++ GUI Visual Studio C++ IPC C++ Macro Function Example C++ Permutation Overloading Stream Insertion in C++ Overloading array Index operator in C++ Operators that cannot be overloaded in C++ Operator overloading in C++ isprint() function in c++ Is_trivial function in C++ Is assignment operator Inherited in C++ div() function in C++ Default Assignment Operator and References in C++ Copy Constructor vs Assignment Operator in C++ Conversion Operator in C++ Array sum in C++ STL C++ Define Macro C++ Design C++ Factory Pattern TCP Client Server Example in C++ Convert String to Uppercase in C++ exit() and _Exit() in C and C++ Initializer list in C++ Iterator invalidation in C++ Lower bound in C++ Modulus of Two float numbers or double number Pass by value in C++ Set insert function in C++ Std partition_point in C++ Unary Operator Overloading in C++ Using Default Arguments with Virtual Functions Virtual Functions and Runtime Polymorphism What is endl in C++ What is Unary Operator Overloading in C++ Which operators cannot be overloaded in C++ C++ Program to Divide the String Into N equal Parts Gray Code to Binary Code in C++ How to get the value of pi in C++ Multimap value_comp() function in C++ Vector of Vectors in C++ Naïve Bayes Algorithm in C++ Minimum Cost Path Problem in C++ 10 C++ Programming Tricks You Should Know btowc() function in C++ forward_list::cend() in C++ Unordered_multimap max_load_factor() function in C++ Cpp_int in c++ Dynamic Objects in C++ FLOCK() FUNCTION IN C++ Generate Random Double Numbers in C++ How to Assign Infinity to a Number in C++ Jump statements in C++ Multipath inheritance in C++ Out of Range Exception in C++ Size of Class in C++ Size of string in C++ std::binary_negate in c++ Thread_local in C++ Tokenizing a String in C++ Ancestors of a Node in Binary Search Tree C++ program for Double to String Conversion C++ Program to Demonstrate Use of Formatting Flags on Float Output Clamp in C++ K-Dimensional Tree in C++ Mutable Lambda in C++ Power Set in C++ Program to Find Sum of Geometric Progression Std::Back_inserter in C++ Strpbrk() function in C++ Size of int in C++ TYPES OF MANIPULATORS IN C++ Double colon in C++ How to sort vector in C++ How to use Setprecision in C++ How to write a Vector in C++ Insertion in Splay Tree in C++ Merge Sort Algorithm in C++ Printing a Character using ASCII value in C++ Regex in C++ Size of Data Types in C++ Sqrtf() function in C++ Static Casting in C++ Using Range in Switch Case in C++ wcstoimax() and wcstoumax() function in C++ What is float in C++ What is the Diamond Problem in C++ Best way to learn C++ ios setstate() function in C++ Nested Namespace in C++ Single Inheritance in C++ std::fixed, std::scientific, std::hexfloat, std::defaultfloat in C++ StringStream in C++ for Decimal to Hexadecimal and back The OFFSETOF() macro in C++ Difference between std::next and std::advance in C++ Hiding of all overloaded methods with same name in base class in C++ C++ program to concatenate two strings using operator overloading Difference between array::fill() and array::swap() in C++ Difference between Friend Function and Virtual Function in C++ Semaphores in C++ Seekg in C++ UDP server- client implementattion in C++ What is long long in C++ CSV file management using C++ Toggle bits of a number except first and last bits in C++ Trailing Return Type C++ 11 Binary search implementation in C++ Different Versions of C++ What is Cascading in C++ Background Colour in C++ BOOL DATATYPE IN C++ BIT VECTORS IN C++ Literals in C++ Application of pointer in C++ Index with minimum sum of prefix and suffix sums in an array in C++ Maximum sum Bi-tonic sub-sequence in C++ std::optional in C++ C/C++ program for triangular matchstick number COUT COMMAND IN C++ LANGUAGE Adjacency matrix program in C++ language Difference between Null String and Empty String in C++ Character data type in c++ Constructors in Inheritance C++ Comma Operator Overloading in C++ Structure and Class in C++ Template Definition in C++ Tree Data Structure in C++ Typename in C++ C++ program to implement the bin packing algorithm How to merge multiple std::sets into a single std::set in C++? Stack Clear C++ C++ Friend Class Seekg in C++ Semaphores in C++ C++ Exceptions Difference Between C and C++ Double-linked list program in C++ Color Code in C++ CRC Program in C++ Anti-Clockwise spiral traversal of a binary tree in C++ Advantages of OOP in C++ Cryptarithmetic Puzzle in C++ Angular sweep algorithm 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.