C++ で文字を文字列に変換する方法

胡金庫 2023年10月12日
  1. 文字を文字列に変換するには string::string(size_type count, charT ch) コンストラクタを用いる
  2. 文字を文字列に変換するには push_back() メソッドを用いる
  3. C++ で文字を文字列に変換するには append() メソッドを使用する
  4. C++ で文字列を文字列に変換するには insert() メソッドを使用する
C++ で文字を文字列に変換する方法

この記事では、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
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - C++ String