文字の配列があるとします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