In this article, we will learn about three different ways to convert a long to a string in C++ i.e.
- Using to_string() function
- Using stingstream
- Using Boost’s lexical_cast() function.
Let’s discuss them one by one.
Convert long to string using to_string()
C++ provides a function std::to_string() for converting values of different types to string type. We can use this to convert a long to string. For example,
#include <iostream> #include <string> using namespace std; int main() { long num = 102612; // Convert long to string string num_str = to_string(num); cout<<num_str<<endl; return 0; }
Output:
102612
We passed a long to the to_string() function, and it converted the given long to a string and returned the string object. If you pass a negative long to the to_string(), it will convert to a string with a minus symbol.
Convert long to string using stringstream in C++
C++ provides a class stringstream, which provides a stream-like functionality. We can insert different types of elements in stringstream and get a final string object from the stream. Check out this example,
#include <iostream> #include <string> #include<sstream> using namespace std; int main() { long num = 1789; stringstream stream; // Add long to the stream stream<<num; // Get string object from the stream string str = stream.str(); cout<<str<<endl; return 0; }
Output:
Frequently Asked:
- Split String into Substrings of equal length in C++
- Check if Char Array Starts with a string in C++
- C++ : Convert double to string and manage precision | scientific notation
- Replace all occurrences of a character in String in C++
1789
In the stringstream, we inserted a long, and the stream converted the long to string. Then, in the end, we requested a string object from the stream.
Convert long to string using boost::lexical_cast()
The C++ boost library provides a template function for data type conversion. It helps to convert elements from one data type to another. We can use that to convert a long to a string. For example,
#include <iostream> #include <string> #include <boost/lexical_cast.hpp> using namespace std; using namespace boost; int main() { long num = 3456; // Convert long to string using boost library string str = lexical_cast<string>(num); cout<<str<<endl; return 0; }
Output:
3456
Summary:
We learned about three different ways to convert a long to a string in C++.