如何在 C++ 中把一个字符转换为字符串

Jinku Hu 2023年1月30日 2020年11月7日
  1. 使用 string::string(size_type count, charT ch) 构造函数将一个 char 转换为一个字符串
  2. 使用 push_back() 方法将一个 char 转换为一个字符串
  3. 使用 append() 方法在 C++ 中把一个 char 转换为一个字符串
  4. 使用 insert() 方法在 C++ 中把一个字符转换为一个字符串
如何在 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
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

相关文章 - C++ String