stdinから読み込み、空でない行だけをstdout(つまり\ nのみを含む行)に書き込むプログラムを書く必要があります。例えば、標準入力だった場合:空白行の入力を検証する( n n)
1
2
\n
3
出力は次のようになります。
1
2
3
これは私がこれまで持っているものです。
#include <stdio.h>
#include <string.h>
int main()
{
char buf[BUFSIZ];
char *p;
printf ("Please enter some lines of text\n");
if (fgets(buf, sizeof(buf), stdin) != NULL)
{
printf ("%s\n", buf);
/*
* Remove newline character
*/
if ((p = strchr(buf, '\n')) != NULL)
*p = '\0';
}
return 0;
}
は、私がループすることができます方法はありますしかし、空白行が入力されても、ユーザーは入力を続けることができますか?
私はあなたのプログラムがあなたの記述と一致するかわからない(プログラムは文法問題を抱えているので、それは何がしたいこと、それはあるかもしれないようなプログラムが見えるものであるかどうかを知ることは困難ですあなたが何を質問に入れているか)。最大の混乱を招くのは、プログラムが1行のテキストしか読んでいないように見えるので、複数の '\ n'を読み込む機会はあまりありません。 –
宿題のように聞こえます。私の前提が正しければ、あなたの投稿を編集して '宿題'タグを含めるようにしてください。 – Till
ありがとうございます - 私は宿題タグを含めました。 – SeekingCharlie