파일 복사 프로그램을 만들었는데 결과 뒤에 쓰레기 값이 나옵니다.
나슬
2023.04.01
질문 제목 :파일 복사 프로그램을 만들었는데 결과 뒤에 쓰레기 값이 나옵니다.질문 요약 :쓰레기값 나오는 이유질문 내용 :
파일 복사 프로그램을 만들었는데 결과 뒤에 쓰레기 값이 나옵니다.소스코드는 아래와 같습니다.
#include stdio.h#include stdlib.h#include fcntl.h#include unistd.h
int main(void){ int fd,fd2; char buf[200]; fd=open(src.txt,O_RDONLY); //오류 처리 생략 read(fd, buf, sizeof(buf)); fd2=open(dst.txt, O_CREATE|O_WRONLY|O_TRUNC); write(fd, buf, sizeof(buf)); close(fd); close(fd2); return 0;}
어느부분을 수정해야할까요?
-
나로
파일의 길이와 관계없이 무조건 200바이트를 읽어서 쓰고 있군요.
파일이 200바이트보다 짧으면 뒤에 쓰레기값이 들어가게되고 200바이트보다 길면 뒤가 짤리겠네요.