1

どのようにエスケープ文字 (改行文字 -- \n など) を CString に入れることができますか?

4

7 に答える 7

6

\n はボックス (文字化け) になります。新しい行は挿入されません。

これはデバッガーで見つけたものですか?もしそうなら、これは大丈夫です。改行文字の 16 進数値は 0xA または 10 進数で 10 です。これは印刷できない文字であるため、デバッガーはそれを表示します。

それとは別に、メモ帳を使用して出力を表示すると、正しく出力されない場合があります。メモ帳を正しく分割するには、「\r\n」を試してください。

于 2009-03-16T18:27:00.350 に答える
4

問題は CString に改行を挿入することではなく、文字列を表示するために使用しているメソッドにあると思います

于 2009-03-16T18:21:12.483 に答える
1

私が若いコーダーだったとき、Windowsで.txtファイルに書き込んでメモ帳で開くときに同じ問題がありました。改行文字はこれらの四角として表示されます。メモ帳で改行を表示したい場合は、「\r」を使用します。これは本当に解決策ではありませんが、これがあなたの問題であるという直感があります...

于 2009-03-16T19:48:29.577 に答える
0
CString cs = "First sentence."+"\015\012"+"Second sentence."

お役に立てば幸いです。

于 2016-07-01T10:39:19.777 に答える
0

エスケープされていないバージョンを意味しますか?もしそうなら、エスケープをエスケープするだけです

CString("\\n");
于 2009-03-16T18:12:35.517 に答える
0

改行文字は、一重引用符で囲まれた '\n' です。それを cstring に追加するだけです。

于 2009-03-16T18:16:47.080 に答える
0
CString strMessage = "";

strMessage.Format("Alpha \n Beta");

「\n」はデバッガーではボックス文字として表示されますが、UI に表示されている間は正しく表示されます。

于 2009-03-17T01:04:57.130 に答える