바이너리 파일 핸들링

☆C언어/소스 2017. 6. 15. 10:56

#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;


}



'☆C언어 > 소스' 카테고리의 다른 글

달력  (0) 2017.11.13
괄호 검사  (0) 2017.06.17
달력 문제  (0) 2017.06.14
3n+1  (0) 2013.06.27
3n+1 재귀함수  (0) 2013.06.27