2016-08-09 6 views
-4

これ以上の処理をせずにエスケープ文字を印刷するにはどうすればできますか?\ tまたは\ nまたは... std :: coutに? テキストを出力する前に手作業で処理したくないですか? この目的のためにstd :: coutにスイッチがありますか?生のエスケープ文字をcoutの tと nとしてどのように表示できますか?

+1

エスケープ文字は、ソースコード中に存在します - その文字列自体には、エスケープ文字が表す実際の文字が含まれています。 – molbdnilo

+1

さて、エスケープ文字はソースコードに存在し、std :: coutはすでにエスケープシーケンスを含むこの文字列を受け取ります! –

+0

@molbdnilo私は、これらの文字の "未加工"表現をストリーム出力する方法をポイントと考えます。 – juanchopanza

答えて

1

を役に立てば幸いそして「)で終わる、の例では、通常の文字列とC++での生の文字列の間の差を、それを見てみましょう:

string raw_str=R"(First line.\nSecond line.\nEnd of message.\n)"; 
cout<<raw_str<<endl; 

結果:

~$ ./a.out 
First line.\nSecond line.\nEnd of message.\n 
-3

あなたはSTDの出力に\トン見ることができますトン\\としてそこに1つの余分のスラッシュを追加した場合:: coutの

例は:< <裁判所未満「\\トンハローは」ハロー\トンに印刷されます。

私は(「Rリテラル始まる生の文字列。C++の処理されていない基本的にリテラル生の文字列(\ nは\ tか\など)」エスケープ文字がする文字列ですこれは

+0

私はstd :: coutに送る前にテキストを手作業で処理したくありません。 –

関連する問題