티스토리 뷰

Programing/C

C- 파일 생성기

akon47 2009. 1. 19. 13:24
/*
Written by akon47.
http://boongubbang.tistory.com
ver 0.2
*/

#define _CRT_SECURE_NO_WARNINGS // CRT함수 경고 발생 방지.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

enum{make=1, ext};

void intro();

int main(void)
{
int i;
int state;
int size;
int result;
int sel;
char str[256];
char chek;
char ex[21];
char filename[256];
char _filename[256];
char buffer[20];
FILE * F;


while(1)
{
intro();
scanf("%d", &sel);

switch(sel)
{
case make:
fputs("만들 파일의 기본 이름(최대 255자): ", stdout);
scanf("%s", _filename);
fputs("만들 파일의 확장자(최대 20자): ", stdout);
scanf("%s", ex);

result=strncmp(ex, "txt", 20);

if(result==0)
{
fflush(stdin);
puts("txt파일을 생성할때에는 생성될 txt파일마다 기본으로 저장되어 있는 문자열을 설정하실 수 있습니다.");
fputs("입력하시겠습니까?(y/n) : ", stdout);
chek=getchar();

switch(chek)
{
case 'y':
case 'Y':
fflush(stdin);
fputs("문자열 입력(최대 255자): ", stdout);
fgets(str, 255, stdin);
break;
case 'n':
case 'N':
puts("문자열을 입력하지 않습니다.");
break;
default:
puts("잘못된 키선택");
return 1;
}
}

fputs("만들파일의 갯수: ", stdout);
scanf("%d", &size);

for(i=0; i<size; i++)
{
strcpy(filename, _filename);
_itoa(i, buffer, 20); // itoa == warning C4996 따라서 _itoa
strcat(filename, "_");
strcat(filename, buffer);
strcat(filename, ".");
strcat(filename, ex);

F=fopen(filename, "wt");
if(F==NULL)
{
printf("file open error!\n");
return 1;
}

fputs(str, F);

state=fclose(F);
if(state!=0)

{
printf("file close error!\n");
return 1;
}

printf("%d번째 파일 생성 완료!\r", i+1);
}
puts("");
break;
case ext:
return 0;
default:
puts("잘못된 키선택");
return 1;
}
}
return 0;
}
void intro(void)
{
puts("1. 파일 생성");
puts("2. 종     료");
fputs("? : ", stdout);
}

'Programing > C' 카테고리의 다른 글

C - 방향키의 아스키 코드값 얻기.  (0) 2009.01.20
넥슨입사문제 1번 풀이..  (0) 2009.01.19
C- 파일 생성기  (0) 2009.01.19
C - 하지메 코드  (0) 2009.01.19
댓글
댓글쓰기 폼