#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <iso646.h>
#define SIZE 255

int main(int argc, char *argv[])
{
    FILE *first;
    FILE *second;
    char str1[SIZE];
    char str2[SIZE];

    if(argc!=3)
    {
        fprintf(stderr, "usage : %s filename filename\n", argv[0]);
        exit(EXIT_FAILURE);
    }

    first=fopen(argv[1], "r");
    if(first==NULL)
    {
        fprintf(stderr, "Can't open %s\n", argv[1]);
        exit(EXIT_FAILURE);
    }
    second=fopen(argv[2], "r");
    if(second==NULL)
    {
        fprintf(stderr, "Can't open %s\n", argv[2]);
        exit(EXIT_FAILURE);
    }

    if((fgets(str1, SIZE, first)!=NULL) or (fgets(str2, SIZE, second)!=NULL)) <-----요부분
    {
        fputs(str1, stdout);
        fputs(str2, stdout);
    }

    if(ferror(first)!=false)
        fprintf(stderr, "Input error in %s\n", argv[1]);
    if(ferror(second)!=false)
        fprintf(stderr, "Input error in %s\n", argv[2]);

    if(fclose(first)!=0)
        fprintf(stderr, "Can't close %s\n", argv[1]);
    if(fclose(second)!=0)
        fprintf(stderr, "Can't close %s\n", argv[2]);

    return 0;
}


gcc로 컴파일했는데

저 부분에서 second에서 str2로 문자가 저장이 안된다.

자꾸  str2에 들어있던 초기화 되지 않은 값만 출력됨.


실험해보니 뭐 fgets를 연달아 쓰면 안된다던가 하는건 아닌것 같은데

뭐 내가 잘못하는거 있음?