私はすべてのテキストを別々の.txtファイルに置くプログラム(コンソール)を持っています。C:fgetsを nファイルから改行する方法
は、私は、ファイルから文字列を読み取るためにfgets()
を使用しますが、ファイルは、\ nを含んでいると私は後で文字列を印刷するとき、それは、nの代わりに改行ここ
の\を出力する例である:
FILE* fic = NULL;
char str[22]; //str is the string we will use
//open the file
fic = fopen ("text.txt", "r");
//read from the file
fgets(str, size, fic);
printf(str);
これは私が私のTEXT.TXTに持っているものである場合:
This is \n an example
しかし何コンソール上に出てくることは
ですそれは\ nと書かれているファイルに :This is \n an example
代わりの
This is
an example
編集。また、ファイル内でaddint \や\ tを試しましたが、表や単一のバックスラッシュの代わりに\と\ tが出力されます
ファイルに2文字( ''\'と' 'n')または1文字( ''\ n")がありますか? – mch
がファイルに書き込まれました\ nファイルにaddint \\または\ tも試しましたが、表形式または単一のバックスラッシュの代わりに\\と\ tが出力されます – Speedphoenix
''\ n'' ** is is ** linebreak /改行文字。私はまったく問題は見ません。 **決して**外部ソースからの文字列を 'printf'形式の文字列として使うことは決してありません!これはCの最も一般的なセキュリティホールの1つです。 – Olaf