C++ で文字を文字列に変換する方法
胡金庫
2023年10月12日
-
文字を文字列に変換するには
string::string(size_type count, charT ch)
コンストラクタを用いる -
文字を文字列に変換するには
push_back()
メソッドを用いる -
C++ で文字を文字列に変換するには
append()
メソッドを使用する -
C++ で文字列を文字列に変換するには
insert()
メソッドを使用する
この記事では、C++ で char
を文字列に変換する複数のメソッドのデモを行います。
文字を文字列に変換するには string::string(size_type count, charT ch)
コンストラクタを用いる
このメソッドは、std::string
コンストラクタの 1つを利用して、C++ の文字列オブジェクトの文字を変換します。コンストラクタは 2つの引数を取ります:新しい文字列が構成する文字数を表す count
値と、各文字に代入される char
値です。このメソッドは可読性を高めるために CHAR_LENGTH
変数を定義していることに注意してください。コンストラクタに直接整数リテラルを渡すこともできます。
#include <iostream>
#include <string>
using std::cin;
using std::cout;
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()
メソッドを用いる
あるいは、組み込みの push_back
メソッドを利用して文字を文字列変数に変換することもできます。まず、空の文字列変数を宣言し、push_back()
メソッドを使って char
を追加します。この例では、character
という名前の char
変数を宣言し、後に push_back
コマンドの引数として渡します。なお、パラメータとしてリテラル値を直接指定することもできます。
#include <iostream>
#include <string>
using std::cin;
using std::cout;
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
C++ で文字を文字列に変換するには append()
メソッドを使用する
メソッドは std::string
クラスのメンバ関数であり、文字列オブジェクトに文字を追加するために利用することができます。この場合、空の文字列を宣言して char
を追加するだけで済みます。
#include <iostream>
#include <string>
using std::cin;
using std::cout;
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
C++ で文字列を文字列に変換するには insert()
メソッドを使用する
insert
メソッドも std::string
クラスの一部です。このメンバ関数は、第 1 引数で指定した文字列オブジェクトの特定の位置に char
を挿入することができます。第 2 引数はその場所に挿入する文字のコピー数を表します。
#include <iostream>
#include <string>
using std::cin;
using std::cout;
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
著者: 胡金庫