[解決済み] C++文字列リテラルのエスケープ文字に関する規則
2022-03-04 07:27:43
質問事項
エスケープ文字のルールを教えてください。
\
を文字列リテラルで使用できますか?エスケープされるすべての文字の一覧はありますか?
特に
\
の文字列リテラルに、任意の3つの数字を続けて入力すると、それぞれ異なる色で表示されます。
を作ろうとしていたのですが
std::string
という文字を持つリテラルから構成されています。
0
に続き、ヌル文字(
\0
) の後に、文字
0
. しかし、シンタックスハイライトは、もしかしたらこれは、文字
0
に続き、ヌル文字 (
\00
は、別名
\0
)、つまり2文字だけである。
この問題だけを解決するためには、この方法がベストなのでしょうか。
std::string ("0\0" "0", 3) // String concatenation
また、一般的に文字列リテラルでエスケープ文字が何をするのか、何らかのリファレンスがあるのでしょうか?例えば'˶'˶'とは何ですか?
どのように解決するのですか?
制御文字
(16進数コードはASCII互換の文字エンコーディングを前提としています)
-
\a
=\x07
= アラート(ベル) -
\b
=\x08
= バックスペース -
\t
=\x09
= 水平タブ -
\n
=\x0A
= ニューライン(またはラインフィード) -
\v
=\x0B
= 垂直タブ -
\f
=\x0C
= フォームフィード -
\r
=\x0D
= キャリッジリターン -
\e
=\x1B
= エスケープ (非標準の GCC 拡張)
句読点文字。
-
\"
= にはバックスラッシュは不要です。'"'
) -
\'
= アポストロフィ (バックスラッシュは"'"
) -
\?
= クエスチョンマーク(三文 字を避けるために使用) -
\\
= バックスラッシュ
数値文字参照。
-
\
+ 最大3桁の8進数 -
\x
+任意の数の16進数 -
\u
+ 4桁の16進数(Unicode BMP、C++11の新機能) -
\U
+ 8個の16進数(Unicodeのアストラル平面、C++11の新機能)
\0
=
\00
=
\000
= ヌル文字に対応する8進数のエスケープ
の後に実際の数字文字が必要な場合。
\0
ということであれば、文字列連結をお勧めします。 なお、リテラルの各パートの間の空白は任意なので、以下のように書くことができます。
"\0""0"
.
関連
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】Enterキーを押して続行する
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません