2009-03-16 109 views
1

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

+0

no。/nを使用して改行を挿入したい –

+0

Alphaが1行にあり、ベータが次の行にある場合は、文字列 "Alpha Beta"が必要ですか?これの利点は何ですか(あなたは何を達成しようとしていますか)? – Perchik

答えて

0

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

CString("\\n"); 
+0

そうではありません。 "\ n" - そうすると、ガベージ文字として表示されます。 –

0

改行文字はシングルクォーテーションで '\ n'です。それをあなたのcstringに追加するだけです。

+0

\ nはボックス(ガベージ文字)になります。新しい行は挿入されません。 –

4

私はあなたの問題はCStringの中で改行を挿入されていないと思いますが、あなたがする\ n文字列

6

を表示するために使用されている方法でボックス(ごみ文字)になります。新しい行は挿入されません。

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

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

+0

私はROOTプロジェクトにコードを追加していましたが、同じ問題がありました。 \ r \ nはトリックをしました! – Tom

1

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

0
CString strMessage = ""; 

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

「\ n」は、それが適切に表示するUIに表示しながら、デバッガのボックス文字として表示されますが。

0
CString cs = "First sentence."+"\015\012"+"Second sentence." 

私はそれがあなたを助けてくれることを願っています。

関連する問題