如何将单个字符转换为字符串对象。
例子:
Input : x = 'a'
Output : string s = "a"
Input : x = 'b'
Output : string s = "b"
这个想法是使用具有构造函数的字符串类,该构造函数允许我们指定大小
字符串作为第一个参数,将要填充给定大小的字符作为第二个参数。
这称为类填充构造函数。
// Create a string of size n and fill
// the string with character x.
string s(size_t n, char x);
注意: size_t是unsigned long long的typedef,因此我们不应传递负参数。
CPP
// CPP program to get a string from single
// character.
#include
using namespace std;
string getString(char x)
{
// string class 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.
string s(1, x);
return s;
}
int main() {
cout << getString('a');
return 0;
}
C++
// CPP program to get a string from single
// character.
#include
using namespace std;
int main() {
char ex = 'G';
string str;
// Using += operator (here we append character to end of string)
str += ex;
cout << str << endl;
// using = operator (overwrites the string)
str = "GeekForGeeks";
str = ex;
cout << str << endl;
}
C++
// CPP program to get a string from single
// character.
#include
using namespace std;
int main() {
string str;
str.append(1, 'G');
cout << str << endl;
}
C++
// CPP program to get a string from single
// character.
#include
using namespace std;
int main() {
string str = "GeekForGeeks";
// assign method overwrites initial content
str.assign(1, 'G');
cout << str << endl;
}
C++
// CPP program to get a string from single
// character by stringstream.
#include
using namespace std;
int main() {
stringstream stream;
// adding our character to stream
char ex = 'G';
stream << ex;
// retrieving back our input into string
string str;
stream >> str;
cout << str << endl;
}
输出
a
但是,还有许多其他方法可以将字符转换为字符串。上述方法仅在初始化字符串实例时有效。
1-使用= / + =运算符
这是非常基本的方法,这些运算符被重载以分配或附加字符。
C++
// CPP program to get a string from single
// character.
#include
using namespace std;
int main() {
char ex = 'G';
string str;
// Using += operator (here we append character to end of string)
str += ex;
cout << str << endl;
// using = operator (overwrites the string)
str = "GeekForGeeks";
str = ex;
cout << str << endl;
}
输出
G
G
2- std ::字符串:: append()
该方法与上面讨论的+ =运算符相似,但是它给了我们另一个优点。通过使用此方法,我们可以追加任意数量的字符。
// appends n copy of character x at end of string
string s(size_t n, char x);
C++
// CPP program to get a string from single
// character.
#include
using namespace std;
int main() {
string str;
str.append(1, 'G');
cout << str << endl;
}
输出
G
3- std ::字符串:: assign()
该方法与上面讨论的=运算符相似,但是它给了我们另一个优点。通过使用此方法,我们可以追加任意数量的字符。
// assigns n copy of character x to the string
string s(size_t n, char x);
C++
// CPP program to get a string from single
// character.
#include
using namespace std;
int main() {
string str = "GeekForGeeks";
// assign method overwrites initial content
str.assign(1, 'G');
cout << str << endl;
}
输出
G
4- std :: stringstream
这种方法可能更罕见。我个人不喜欢这种方法,除非并且除非我广泛使用它。例如,如果程序有多次转换,例如从字符串到int,float等,则可以使用它。
C++
// CPP program to get a string from single
// character by stringstream.
#include
using namespace std;
int main() {
stringstream stream;
// adding our character to stream
char ex = 'G';
stream << ex;
// retrieving back our input into string
string str;
stream >> str;
cout << str << endl;
}
输出
G
这些是一些我们可以从字符串获取char的方法。但是,还有更多的方法,例如使用replace,insert方法,但这是不必要的,而且非常罕见。
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。