How to convert a single character to a string object.
Examples:
Input : x = 'a'
Output : string s = "a"
Input : x = 'b'
Output : string s = "b"
The idea is to use string class which has a constructor that allows us to specify size of
string as first parameter and character to be filled in given size as second parameter.
This is called Class-fill constructor.
// Create a string of size n and fill
// the string with character x.
string s(size_t n, char x);
NOTE- size_t is typedef of unsigned long long hence we should not pass negative parameters.
CPP
#include<bits/stdc++.h>
using namespace std;
string getString( char x)
{
string s(1, x);
return s;
}
int main() {
cout << getString( 'a' );
return 0;
}
|
However there are many other ways by which you can convert character into string. The method mentioned above only works while initialization of string instance.
1- using =/+= operator
This is very Basic method and these operators are overloaded to assign or append a character.
C++
#include<bits/stdc++.h>
using namespace std;
int main() {
char ex = 'G' ;
string str;
str += ex;
cout << str << endl;
str = "GeekForGeeks" ;
str = ex;
cout << str << endl;
}
|
2- std::string::append()
This method is just similar as += operator discussed above but It gives us another advantage. By using this method we can append as many characters we want.
// appends n copy of character x at end of string
string s(size_t n, char x);
C++
#include<bits/stdc++.h>
using namespace std;
int main() {
string str;
str.append(1, 'G' );
cout << str << endl;
}
|
3- std::string::assign()
This method is just similar as = operator discussed above but It gives us another advantage. By using this method we can append as many characters we want.
// assigns n copy of character x to the string
string s(size_t n, char x);
C++
#include<bits/stdc++.h>
using namespace std;
int main() {
string str = "GeekForGeeks" ;
str.assign(1, 'G' );
cout << str << endl;
}
|
4- std::stringstream
This method is probably more rare in use. I personally don’t prefer this method until and unless I have wide use of it. For example you can use it if your program has multiple conversions such as string to int, floats etc.
C++
#include<bits/stdc++.h>
using namespace std;
int main() {
stringstream stream;
char ex = 'G' ;
stream << ex;
string str;
stream >> str;
cout << str << endl;
}
|
5- std::string
Using a string literal is another way to convert a single character to a string in C++.
The basic syntax is as follows:
string str = string(1,c);
Where ‘c’ is the character to be converted. The string constructor is called with an argument of 1 and the character to create a string with that character.
Below is the demonstration of above method:
C++
#include <iostream>
#include <string>
int main()
{
char c = 'G' ;
std::string str = std::string(1, c);
std::cout << "Character: " << c << std::endl;
std::cout << "String: " << str << std::endl;
return 0;
}
|
Output
Character: G
String: G
These were some methods where we can get char from string. However there are many more methods such as use of replace, insert method but that is unnecessary and quite rare.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
31 Jan, 2023
Like Article
Save Article