Ошибка при записи в файл abc информации из stdin

Пытаюсь этим кодом записать в файл abc из stdin строку hello world (делаю это так -> echo "hello world" | ./main.c abc)

Сейчас мне выдает ошибку с недостающей скобкой, но мои глаза и мой текстовый редактор этой ошибки не видят :)

Вопрос: в чем все таки ошибка в этой записи ?

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(int argc, char **argv)
{
  if (argc == 1) {
    printf("getopt test\n");
    return 0;
  }

  if (argc == 2) {
    char ch;
    FILE * fp;

    if((fp = fopen(argv[1], "a")) == NULL) {
        printf("Can't open \n");
        exit(1);
    }

    for(;;) {
        if (EOF == (ch = getchar())) {
          break;
        }
        fputc(ch, fp);
        fputc(ch, stdout);
    }

    fclose(fp);
  }

  return 0;
}

Ответы (0 шт):