C언어 파일 입출력에 대해서
조회수 560회
#include <stdio.h>
#include <string.h>
int main()
{
FILE* rfp;
FILE* wfp;
char aa[200];
char bb[200];
int change;
rfp = fopen("file1.txt", "r");
wfp = fopen("file2.txt", "w");
while (1)
{
fgets(aa, 200, rfp);
//fscanf(rfp, "%s", aa);
change = strlen(aa);
if (feof(rfp))
break;
for (int i = 0; i < change; i++)
{
bb[i] = aa[(change - 1) - i];
}
bb[change] = '\0';
fprintf(wfp, "%s\n", bb);
//fputs(bb, wfp);
}
fclose(rfp);
fclose(wfp);
return 0;
}
위처럼 file1의 문자열을을 거꾸로 입력해주고, file2에 출력해주는 코드를 만들었는데요.
왜 fgets(aa, 200, rfp); 함수를 사용할 땐 file2에서 처럼 맨 위에 공백이 생길까요?
다른 부분에 공백이 생기는 건 fgets() 함수가 '\n'까지 읽어오기 때문인건 이해가 되는데
맨 위에 생긴 공백에 대해서는 이해가 잘 되지 않네요..!
file1
Visual
Studio Professional
Basic-C
Study
file2
(지금 여기 공백 있음)
lausiV
(공백)
lanoisseforP oidutS
(공백)
C-cisaB
(공백)
ydutS
댓글 입력