
C言語でダブルクォートで囲まれた文字列内で使われる、「\」で始まるエスケープシーケンスがありますよね。例えば、
「\n」 ⇒ 改行
「\t」 ⇒ タブ
「\"」 ⇒ ダブルクォート
「\\」 ⇒ バックスラッシュ
などですが、C言語のリフェレンスを見ると「\'」(シングルクォート)や「\?」(クエスチョンマーク)なども載っていました。でもこれらの文字は、実際はエスケープシーケンスを使わなくても、ちゃんとコンパイルされ表示もされます。
「'」や「?」をC言語の文字列内で使うには、公式には「\」が必要なんでしょうか?

No.3ベストアンサー
- 回答日時:
\? のほうは、今となっては悪名高い、「トライグラフ」に関連したものです。
Cでよく使われる記号で、{ } | # \ などの記号は、実は、各国で文字コードが結構ばらばらです。(バックスラッシュが、JIS では \ になってしまうのは、我々にはなじみが深いですが)
さて、それを避けるために、?? + 1文字で、上記の文字を代用することができます。
具体的には、URL をどうぞ。
今でもこの仕様は有効なので、??なんとか とすると、訳のわからないエラーに見舞われることがあります。
(gcc はデフォルトで OFF らしい)
これの対策で、明示的に ?? と、2連発したいときなど、 \?\? が安全なのかもしれません。
参考URL:http://rec.ncos.co.jp/cgi-bin/e000.cgi?64
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのクエリで、replace関数...
-
UNICODE文字が含まれているかの...
-
文字列の後ろから必要分だけ削...
-
VBScriptでXcopyしたいのですが
-
テキストの文字列検索で、検索...
-
ダブルクォーテーションを文字...
-
環境依存文字?をEnumで定義したい
-
ExcelVBAを使って、値...
-
エクセルで、絶対値の平均を算...
-
Excelで指定した日付から過去の...
-
テキストボックスのvalueとtext...
-
エクセルvbaで、別シートの最下...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
JSP+Servletでのページングの常識
-
表にフィルターをかけ、絞った...
-
VB.NETで DataRow()を利用して...
-
.NET SqlDataReader のレコー...
-
array関数で格納した配列の型を...
-
VBA ドロップダウンリストを残...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、replace関数...
-
文字列の後ろから必要分だけ削...
-
UNICODE文字が含まれているかの...
-
エクセル関数で記号から記号の...
-
ダブルクォーテーションを文字...
-
文字列にアルファベットが何文...
-
テキストの文字列検索で、検索...
-
C言語でギリシャ文字は使えます...
-
vb.net IVSの漢字を1文字切り...
-
GetDlgItemTextについて
-
awk で右端の文字を1文字削除...
-
◆COUNTIF関数またはダブルクォ...
-
URL抽出
-
文字入れ可能なボタンの素材集...
-
vbsの文字列代入
-
Excelの置き換え機能について質...
-
strcmp( )関数について教えて...
-
VS C++6.0のCString にて先頭1...
-
VC6++のツリービューについて
-
PatternSyntaxException
おすすめ情報