검색결과 리스트
글
바이너리 파일 핸들링
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
FILE *in,*out;
char name[100]={'0',}; //읽을 파일 이름
char *data;
char buf[100]; //버퍼
char new_file_name[100]={'0',}; //파일 이름
char file_name[100]={'0',}; //쓸파일 이름
int file_num=0; //파일번호 숫자형
int size=0; //나눌 파일 크기
char ch; //읽어오는글자1바이트씩
//파일 이름
printf("input file name : ");
gets(name);
//파일 사이즈
printf("file size : ");
scanf("%d",&size);
//파일 읽기
in=fopen(name,"rb");
//생성파일크기
data=(char*)malloc(sizeof(char)*size+1);
strncpy(file_name,name,5); //문자열 5개 복사
//이제 반복생성 준비
while(!feof(in))
{
sprintf_s(buf,sizeof(buf),"%s%d",file_name,file_num++); //생성파일이름 번호 후 증가
out=fopen(buf,"wb");
if(!feof(in))
{
fread(data,size,1,in); //바이트 단위 읽기
fwrite(data,size,1,out); //바위트 단위 쓰기
}
fseek(out,0L,SEEK_END);
printf("파일의 길이: %d\n",ftell(out));
}
fclose(in);
fclose(out);
return 0;
}