如何在 C++ 中把一个字符转换为字符串
-
使用
string::string(size_type count, charT ch)
构造函数将一个 char 转换为一个字符串 -
使用
push_back()
方法将一个 char 转换为一个字符串 -
使用
append()
方法在 C++ 中把一个 char 转换为一个字符串 -
使用
insert()
方法在 C++ 中把一个字符转换为一个字符串
本文将演示用 C++ 将一个字符串转换为字符串的多种方法。
使用 string::string(size_type count, charT ch)
构造函数将一个 char 转换为一个字符串
本方法使用 std::string
构造函数之一来转换 C++ 中字符串对象的字符。构造函数需要 2 个参数:一个 count
值,即一个新的字符串将由多少个字符组成,以及一个分配给每个字符的 char
值。请注意,这个方法定义了 CHAR_LENGTH
变量,以提高可读性。我们可以直接将整数文字传递给构造函数。
#include <iostream>
#include <string>
using std::cout; using std::cin;
using std::endl; using std::string;
constexpr int CHAR_LENGTH = 1;
int main(){
char character = 'T';
string tmp_string(CHAR_LENGTH, character);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
输出:
T
使用 push_back()
方法将一个 char 转换为一个字符串
另外,我们也可以利用 push_back
内置方法将一个字符转换为字符串变量。首先,我们声明一个空的字符串变量,然后使用 push_back()
方法附加一个 char
。根据示例,我们将 char
变量声明为 character
,之后将其作为参数传递给 push_back
命令。不过,你也可以直接指定字面值作为参数。
#include <iostream>
#include <string>
using std::cout; using std::cin;
using std::endl; using std::string;
int main(){
char character = 'T';
string tmp_string;
tmp_string.push_back(character);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
输出:
T
使用 append()
方法在 C++ 中把一个 char 转换为一个字符串
append
方法是 std::string
类的一个成员函数,它可以用来给字符串对象添加额外的字符。在这种情况下,我们只需要声明一个空字符串,然后添加一个 char
到其中,如下例代码所示。
#include <iostream>
#include <string>
using std::cout; using std::cin;
using std::endl; using std::string;
int main(){
char character = 'T';
string tmp_string;
tmp_string.append(1, character);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
输出:
T
使用 insert()
方法在 C++ 中把一个字符转换为一个字符串
insert
方法也是 std::string
类的一部分。这个成员函数可以将一个给定的 char
插入到第一个参数指定的字符串对象的特定位置。第二个参数表示要插入该位置的字符的份数。
#include <iostream>
#include <string>
using std::cout; using std::cin;
using std::endl; using std::string;
int main(){
char character = 'T';
string tmp_string;
tmp_string.insert(0, 1, character);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
输出:
T
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn