열혈강의 연습문제 24-1 문제 4(copy프로그램)!
비사벌
질문 내용 :
#include stdio.h
int main(int argc, char **argv)
{
int state;
char ch;
FILE* file1;
FILE* file2;
file1=fopen(argv[1], rt);
if(file1==NULL)
{
printf(file open error!\n);
return 1;
}
file2=fopen(argv[2],wt);
if(file2==NULL)
{
printf(file open error!\n);
return 1;
}
puts(복사를 시작합니다\n);
while(1)
{
ch=fgetc(file1);
if(feof(file1)!=0)
break;
fputc(ch,file2);
}
state=fclose(file1);
if(state!=0)
{
printf(file close error!\n);
return 1;
}
state=fclose(file2);
if(state!=0)
{
printf(file close error!\n);
return 1;
}
puts(복사가 완료되었습니다\n);
return 0;
}저기 저게 붉은 표시 해놓은것 중에서 앞의것은 데이터 접근 방식이고 뒤의것은 데이터 입출력 방식입니다.
뒤에 데이터 입출력 방식에서 책에서는 t를 b라고 해놨더라구요.
근데 저는 t라고도 해봣고 b라고도 해봤는데 결과는 차이가 없고
복사도 무난히 잘 되었습니다.
근데 왜 책에서는 b를 썼는지 이해가 잘 안가네요. 왜 이렇게 한것일까요?
-
꽃바라기슬아
문자열이 띄어쓰기 없이 붙어 있어서 그런거 아닐까요??
-
딥블루
책에 찾아보면 차이점은 잘 나와잇어서 알고 있습니다. 이걸 모른다는게 아니라 두개가 차이가 왜 없는건가요. 그리고 t텍스트모드로 여는게 낫지 않나요?
-
사라
t : Text Mode (텍스트 모드로 열기)
b : Binary Mode (이진 파일 모드로 열기)
텍스트 모드, 이진파일모드는 검색해 보시면 차이점이 나옵니다.