文字の配列があるとしますchar str[10]
。
値xyz\nabc
をstr
使用して保存するchar str[10]="xyz\nabc";
と、次の出力が得られます。
xyz
abc
一方、stdin
フォームから入力してからxyz\nabc
印刷すると、次の出力が得られます。
xyz\nabc
なぜそうなのですか?
から読み取ると、表示stdin
どおりの文字列が正確に得られ"xyz\nabc"
ます。
その値をコードにハードコードすると (例: char* x = "xyz\nabc"
)、\n
は 1 文字になり、改行を表します。同じ出力を得るには、必要がありますchar* x = "xyz\\nabc"
- エクストラは . を\
エスケープし\
ます。
これを参照してください http://en.cppreference.com/w/cpp/language/escape