私は自分のコードで乱雑な文字列を持っています。C++:特殊文字を含むXORの文字列は生の文字列リテラルとしてコンパイルされませんか?
ただし、結果として得られる複数行の生の文字列リテラルは正しくコンパイルされません。
次の図では、両端で適切なデリメータを使用していても、MSVS2015が文字列を正しく解析していないことがわかります(文字列の一部として解析されない黒いテキストに注意してください)。
コードをコンパイルしようとすると、リテラルの閉じ括弧を見つけることができないというエラーが発生します(正しい区切りであっても、閉じた区切り文字の後ろの文字列の最後など)。黒ビットを手動で消去すると適切なコンパイルが行われます(もちろん、正しく解読できなくなった文字列でも)。
XOR機能の様々な結果として生じる文字が正しく.hファイル内に保存することができないので、私はこれが起こっていると仮定しています。この問題の解決法はありますか?私は、Unicodeにファイル形式を切り替えてみましたが、うまくいきませんでした。
コードの印刷画面を表示しないでください。 – bolov
おそらく、あなたの文字列をエンコードする他の方法を考慮する必要がありますか?おそらく何らかの種類の16進符号化スキームや、プレーンなASCII文字をもたらす何か?もちろん、文字列リテラルが[to long]でないことを確認してください(https://msdn.microsoft.com/en-us/library/sx08afx2.aspx)。 –
@ user23573彼は生の弦を使用しています。エスケープ文字は問題ではありません – bolov