
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文字が含まれているかの...
-
URLで使える文字・使えない...
-
文字列にアルファベットが何文...
-
ダブルクォーテーションを文字...
-
VBScriptでXcopyしたいのですが
-
vb.net IVSの漢字を1文字切り...
-
エクセルの関数で指定した文字...
-
VB.NETで DataRow()を利用して...
-
ExcelVBAを使って、値...
-
任意フォルダから画像をすべて...
-
エクセルで、絶対値の平均を算...
-
表にフィルターをかけ、絞った...
-
Excelで指定した日付から過去の...
-
Excelのセルの色指定をVBAから...
-
テキストボックスのvalueとtext...
-
[エクセル]連続する指定範囲か...
-
IFRAME内のURLを取得したです。
-
i=cells(Rows.Count, 1)とi=cel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、replace関数...
-
UNICODE文字が含まれているかの...
-
文字列の後ろから必要分だけ削...
-
GetDlgItemTextについて
-
文字列にアルファベットが何文...
-
ダブルクォーテーションを文字...
-
VBScriptでXcopyしたいのですが
-
CSVの禁則文字
-
strcmp( )関数について教えて...
-
C言語でギリシャ文字は使えます...
-
vb.net IVSの漢字を1文字切り...
-
◆COUNTIF関数またはダブルクォ...
-
awk で右端の文字を1文字削除...
-
VBA B列にある前から10文字の...
-
「XML」の読み方
-
URLで使える文字・使えない...
-
PatternSyntaxException
-
C言語について。
-
お願いです!!
-
VS C++6.0のCString にて先頭1...
おすすめ情報