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