윈도우즈 파일 복사 질문입니다,,
글쓴이: hanty11 / 작성시간: 목, 2016/06/23 - 11:27오전
void main() {
FILE *in;
FILE *out;
in = fopen("LastNight.wav", "r");
out = fopen("res.wav", "w");
while(!feof(in)){
char temp;
fread(&temp, sizeof(temp), 1, in);
fwrite(&temp, sizeof(temp), 1, out);
}
fclose(in);
fclose(out);
}보시다 시피 진짜 단순하게 in에서 한바이트씩 읽어서 out에 저장하는 코드인데요
26MB정도 되는 파일인데 74KB까지만 읽고 루프를 빠져나와버립니다,,
왜이럴까요?ㅠㅠ
Forums:


파일을 바이너리 모드로 오픈하시면 될
파일을 바이너리 모드로 오픈하시면 될 겁니다.
in = fopen("LastNight.wav", "rb"); out = fopen("res.wav", "wb");Windows에서는 텍스트모드로 파일을 읽을 때 ASCII코드 26번(== 0x1A == Ctrl-Z)을 만나면
EOF로 인식하게 되는데 .wav 파일에서 그 문자를 만난 걸 겁니다.
앗그렇군요
감사합니다! 바로해결됐네요
댓글 달기