如何在C++中将单个字符转换为字符串
如何将单个字符转换为一个字符串对象。
例子:
输入:x = 'a'
输出:string s = "a"
输入:x = 'b'
输出:string s = "b"
使用字符串类来实现,该字符串类具有一个构造函数,允许我们将字符串的大小作为第一个参数和要在给定大小中填充的字符作为第二个参数。
这称为类填充构造函数。
//创建一个大小为n的字符串,并填充该字符串
//使用字符x。
string s(size_t n, char x);
注意 – size_t 是unsigned long long的typedef,因此我们不应传递负参数。
// CPP program to get a string from single
// character.
#include<bits/stdc++.h>
using namespace std;
string getString(char x)
{
//字符串类有一个构造函数
//允许我们将字符串的大小作为第一个参数,并在给定的大小中填充字符
//作为第二个参数。
string s(1, x);
return s;
}
int main() {
cout << getString('a');
return 0;
}
输出
a
但是还有许多其他方法可以将字符转换为字符串。上面提到的方法仅在初始化字符串实例时起作用。
1-使用=/+=运算符
这是非常基本的方法,这些运算符被重载以分配或附加字符。
// CPP program to get a string from single
// character.
#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;
}
输出
G
G
2- std :: string :: append()
这种方法与上面讨论的+=运算符类似,但它给我们提供了另一个优点。通过使用此方法,我们可以附加任意数量的字符。
//将n个字符x的副本附加到字符串末尾
string s(size_t n, char x);
// CPP program to get a string from single
// character.
#include<bits/stdc++.h>
using namespace std;
int main() {
string str;
str.append(1, 'G');
cout << str << endl;
}
输出
G
3- std :: string :: assign()
这种方法与上面讨论的=运算符类似,但它给我们提供了另一个优点。通过使用此方法,我们可以附加任意数量的字符。
//将n个字符x的副本分配给字符串
string s(size_t n, charx);
// CPP program to get a string from single
// character.
#include<bits/stdc++.h>
using namespace std;
int main() {
string str = "GeekForGeeks";
//assign方法覆盖初始内容
str.assign(1, 'G');
cout << str << endl;
}
输出
G
4- std :: stringstream
该方法可能更少使用。我个人不喜欢这种方法,除非我需要广泛使用它。例如,如果程序需要多个转换,例如字符串到int,浮点数等,则可以使用它。
// CPP program to get a string from single
// character by stringstream.
#include<bits/stdc++.h>
using namespace std;
int main() {
stringstream stream;
//将字符添加到流中
char ex = 'G';
stream << ex;
//将输入值取回到字符串中
string str;
stream >> str;
cout << str << endl;
}
输出
G
5- std::string
另一种将单个字符转换为C++字符串的方法是使用字符串字面量。
_基本语法如下: _
string str = string(1,c);
其中 ‘c’ 是要转换的字符。调用具有一个参数和字符的字符串构造函数可使用该字符创建字符串。
以下是上述方法的示例:
// CPP program to get a string from single character
// Using std::string function
#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;
}
输出
Character: G
String: G
这些是获取字符串中字符的一些方法。但是,还有许多其他方法,例如使用replace、insert方法,但这是不必要的且相当罕见的。