どのようにエスケープ文字 (改行文字 -- \n など) を CString に入れることができますか?
7 に答える
\n はボックス (文字化け) になります。新しい行は挿入されません。
これはデバッガーで見つけたものですか?もしそうなら、これは大丈夫です。改行文字の 16 進数値は 0xA または 10 進数で 10 です。これは印刷できない文字であるため、デバッガーはそれを表示します。
それとは別に、メモ帳を使用して出力を表示すると、正しく出力されない場合があります。メモ帳を正しく分割するには、「\r\n」を試してください。
問題は CString に改行を挿入することではなく、文字列を表示するために使用しているメソッドにあると思います
私が若いコーダーだったとき、Windowsで.txtファイルに書き込んでメモ帳で開くときに同じ問題がありました。改行文字はこれらの四角として表示されます。メモ帳で改行を表示したい場合は、「\r」を使用します。これは本当に解決策ではありませんが、これがあなたの問題であるという直感があります...
CString cs = "First sentence."+"\015\012"+"Second sentence."
お役に立てば幸いです。
エスケープされていないバージョンを意味しますか?もしそうなら、エスケープをエスケープするだけです
CString("\\n");
改行文字は、一重引用符で囲まれた '\n' です。それを cstring に追加するだけです。
CString strMessage = "";
strMessage.Format("Alpha \n Beta");
「\n」はデバッガーではボックス文字として表示されますが、UI に表示されている間は正しく表示されます。