如何在 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