stdinから読み取り、空でない行のみをstdoutに書き込むプログラム(つまり、\ nのみを含む行)を作成する必要があります。たとえば、stdinが次の場合:
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;
}
プログラムをループして、空白行を入力してもユーザーが入力を続けることができる方法はありますか?