How to convert string to integer in C++

In this tutorial, let’s study various ways to convert string to integer in C++.

stringstream() in C++

It is the simplest way of converting strings to integers in C++.

string stream() contains a string object with a stream that allows reading input from the input stream.

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

int main()
{
  string x = "89000";
  stringstream func(x);
  int y = 0;
  func >> y;
  cout  << y;
  return 0;
}
Output
Value of y : 89000

Here, we see that the 89000 will be initialized as string, but later on, applying the stringstream() function, it converts into integers.

scanf() in C++

scanf() function is in C library. In this, the input is taken from the string declared than the input stream.

#include<stdio.h>
int main()
{
  const char *str = "98654";
  int z;
  sscanf(str, "%d", &z);
  printf(" %d", z);
  return 0;
}

Output

89654

atoi() in C++

atoi() function is used to convert string values to integer values in C++. This function takes the string value as an argument and returns the integer value.

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

int main()
{
  const char* str1 = "-789 speedy";
  const char* str2 = "89.988765";
  const char* str3 = "0.876";
  const char* str4 = "codespeedy";

  int num1 = atoi(str1);
  int num2 = atoi(str2);
  int num3 = atoi(str3);
  int num4 = atoi(str4);

  cout << num1 << '\n';
  cout << num2 << '\n';
  cout << num3 << '\n';
  cout << num4 << '\n';

  return 0;
  
}

Output

-789
89
0
0

In the above example, we see the different types of strings passed in atoi() function.

when the argument is not integer values, then the atoi() function returns 0.

Leave a Reply

Your email address will not be published. Required fields are marked *