#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를 연달아 쓰면 안된다던가 하는건 아닌것 같은데
뭐 내가 잘못하는거 있음?
논리연산자하고 뭔가 엉킨것 같은데...
short circuit evaluation이네요 or대신 and - 164260의 휘발성 계정
코드대로 잘 작동하네여
허접은 본인의 코드가 아닌 검증된 라이브러리를 의심한다더니
ㄴㄴ 아씨발 맞아 그게 있었지 이런 등신이 있나
ㄴㄴ 뭐래 도움 안줄꺼면 꺼져
허접 - dc App