Open In App

C++ Program For String to Long Conversion

In this article, we will learn how to convert strings to long in C++. For this conversion, there are 3 ways as follows:

  1. Using stol()
  2. Using stoul()
  3. Using atol()

Let’s start by discussing each of these methods in detail.



Example: 

Input: s1 = “20” 
           s2 = “30” 



Output: s1 + s2 
             long: 50

1. Using stol()

In C++, the stol() function performs a string to long conversion. 

Syntax:

long int stol (const string&  str, size_t* idx = 0, int base = 10)

Parameters:

Below is the C++ program to string to long using stol():




// C++ program to convert
// string to long using stol()
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
    char s1[] = "20";
    char s2[] = "30";
    long int n1 = stol(s1);
    long int n2 = stol(s2);
    long int res = n1 + n2;
    cout << res;
    return 0;
}

Output
50

The time complexity is O(1).

The auxiliary space is also O(1).

2. Using stoul()

In C++ to convert a string into a long integer, there is a function called stoul(). The stoul() function performs a string to unsigned long conversion. 

Syntax:

unsigned long stoul (const string&  str, size_t* idx = 0, int base = 10);

Parameters:

Below is the C++ program to convert string to long using stoul():




// C++ program to convert
// string to long using stoul()
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
    char s1[] = "20";
    char s2[] = "30";
    unsigned long int n1 = stoul(s1);
    unsigned long int n2 = stoul(s2);
    unsigned long int res = n1 + n2;
    cout << res;
    return 0;
}

Output
50

The time complexity is O(1)

The auxiliary space is also O(1)

3. Using atol()

In C++, the atol() function translates a string and returns its equivalent integer value.

Syntax:

long int atol (const char * str)

Parameters: The function accepts one mandatory parameter str which is the representation of an integral number.

Below is the C++ program to convert string to long using atol():




// C++ program to convert
// string to long using atol()
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
    char s[] = "123456654";
    long int n = atol(s);
    cout << n;
    return 0;
}

Output
123456654

Article Tags :