int main(){ char input[50], output[50];//file name값들을 50까지로 지정함 int in,out,st_read; char bff[100]; //버퍼 값을 100으로 지정함
printf("*** 읽어들일 파일 이름을 입력 하세요 :"); scanf("%s",input); printf("*** 출력할 파일 이름을 입력하세요 :"); scanf("%s",output);
if(0 > (in=open(input, O_RDONLY) ) ){ ()함수는 open(파일명,모드 설정)값을 가진다 fprintf(stderr,"읽어들일 파일 %s 를 찾지 못했습니다.\n",input); return -1; } if(0 > (out=open(output,O_WRONLY) ) ){ //파일이 없을시에 에러메시지 출력후 종료 fprintf(stderr,"출력할 파일 이름 %s 를 찾지 못했습니다.\n",output); return -1; }
while( (st_read = read(in,bff,100) ) > 0 ) //한번에 100만큼 읽어서 bff에 저장 { if( write(out,bff,st_read) <st_read){ //그 내용을 out 파일에 기록 close(in); close(out); return 0; } }
printf("%s파일의 내용을 %s파일로 성공적으로 복사하였습니다.\n",input,output); return 0;
}
파일 복사까지는 어떻게 되는거같은데.. 정확하게 복사가 되지는 않는거같아요.
화면에 내용을 출력해볼까 했는데.. 파일 입출력 관련된 함수는 전혀 모르겠..네요. 혹시 여기서 더 유연하게 바꿀수 있는 부분이 있을까요?