テキストファイルを開き、1行ずつ読み込むプログラムがあります。また、各行を配列に格納します。この関数を使用してprintf文で各行を使用しようとすると、改行文字が追加されます。テキストファイルを1行ずつ読み込むときに空白を追加するCプログラム
私のコードは次のよう
char fileContents[MAX_LINES][MAX_LINE_LENGTH];
int lineCount = 0;
FILE *ifp = fopen("Tree-B.txt", "r");
if (ifp == NULL)
{
printf("Error opening file!\n");
exit(1);
}
while (fgets(fileContents[lineCount++], MAX_LINE_LENGTH, ifp) != NULL);
fclose(ifp);
printf("Name: %s is now %s", fileContents[0], fileContents[1]);
これの出力は次のようになります。
Name: Tree Bacon
is now 30.21
のprintfは改行文字を追加していると私はなぜこれが起こっているを発見するように見えることはできません。私のテキストファイルから読み出された
二行は以下の通りであった。また、末尾の改行を保存する
Tree Bacon
30.21
'printf'は何も追加していません。改行は元のファイルにあります。 – melpomene
'fgets'は入力から' newline'を保持します。 –
'printf'は何も追加しません。改行はあなたのデータにあります。 'fgets()'は行を読み込むときの改行を含みます。 –