目次
はじめに
C++ の文字列リテラルでは、実際に表示が難しい制御文字や記号を「エスケープシーケンス」として表現いたします。本記事では主要なエスケープシーケンスの意味と使い方を解説し、記号を出力するサンプルコードをご紹介いたします。なお、元の例と重複しないよう文字列や変数名を変更し、著作権上の懸念を避けております。
代表的なエスケープシーケンス一覧
表記 | 意味 | 主な用途 |
---|---|---|
\a | 警告音(ベル) | 端末のビープ音 |
\b | バックスペース | 文字を一つ戻す |
\f | 改ページ | フォームフィード |
\n | 改行 | 行を次に送る |
\r | 復帰(キャリッジリターン) | 行頭へ戻す |
\t | 水平タブ | 水平方向の空白 |
\v | 垂直タブ | 垂直方向の空白 |
\\ | バックスラッシュ | パスや正規表現などで使用 |
\' | シングルクオート | 文字リテラル内で ' を表現 |
\" | ダブルクオート | 文字列リテラル内で " を表現 |
\? | 疑問符 | 三項演算子の混同回避 |
\ooo | 8 進数指定 | \101 など |
\xhh | 16 進数指定 | \x41 など |
サンプルコード
// エスケープシーケンスを出力するサンプル
#include <iostream>
int main(int /*argc*/, char* /*argv*/[])
{
std::cout << "バックスラッシュを表示します: " << '\\' << '\n';
std::cout << "シングルクオートを表示します: " << '\'' << '\n';
return 0;
}
コード解説
- ヘッダーのインクルード
#include <iostream>
によりstd::cout
を使用可能にします。 main
関数
未使用の引数にコメントを付けて警告を抑止しております。- バックスラッシュの表示
バックスラッシュ自体を文字として出力する場合、'\\'
と二重に記述します。 - シングルクオートの表示
文字リテラル中でシングルクオートを扱う際は'\''
と表現します。
実行手順
- ファイル保存
上記コードをescape_sample.cpp
という名称で保存いたします。 - コンパイル bashコピーする編集する
g++ escape_sample.cpp -o escape_sample
- 実行 bashコピーする編集する
./escape_sample
出力結果 makefileコピーする編集するバックスラッシュを表示します: \ シングルクオートを表示します: '
まとめ
エスケープシーケンスは、制御文字や記号を文字列リテラルで安全に扱うための重要な構文です。本記事では代表的なシーケンスを一覧表で整理し、実際に記号を出力するサンプルコードで使い方を示しました。今後、ファイルパスや正規表現、制御文字を取り扱う際には、本稿で紹介したエスケープシーケンスを参考にしていただければ幸いです。