파일 입출력에서 궁금한점.
한국드립
2023.04.01
#includestdio.h
int main(void)
{
FILE * src=fopen(simple.bin, rb);
FILE * des=fopen(dst. bin, wb);
char buf[20];
int readcnt;
if(src==NULL||des==NULL) {
puts(파일오픈 실패!);
return -1;
}
while(1)
{
readcnt=fread((void*)buf, 1, sizeof(buf), src);
if (readcntsizeof(buf))
{
if(feof(src)!=0)
{
fwrite((void*)buf,1,readcnt,des);
puts(파일복사 완료);
break;
}
else
puts(ㅏ일복사 실패);
break;
}
fwrite((void*)buf, 1, sizeof(buf), des);
}
fclose(src);
fclose(des);
return 0;
}
바이너리데이터의 입출력에서요. 왜 while문이 나온거죠? 없어도 되지않나요? 또 readcnt는 크기가 40바이트아닌가요?
그러면 buf의 크기도 40인데 왜 저런 조건문이 필요한거죠?