Cプログラム中で文字列リテラル"????-??-??"
を使いたくなったが、これを普通にコンパイルするとトライグラフと解釈されてしまう(なんと「??-
」が一文字の扱いなのだ)。gcc限定のコードであればデフォルトでトライグラフ無効になっているので問題にはならないが、ポータビリティを考えるとあまり良くない。
解決策はWikipediaの「Digraphs and trigraphs」にも書いてある通り、次の2通りしかない。
"???\?-?\?-??"
"????""-??""-??"
読みやすい方でどうぞ。