#include
#include
void main()
{
FILE *fp;
char ch, filename[40], mode[4];
while(1)
{
printf("enter a filename : ");
gets(filename);
printf("\nEnter a mode(max 3 characters): ");
gets(mode);
if((fp = fopen(filename, mode)) != NULL){
printf("\nSuccessful opening %s in mode %s\n", filename, mode);
fclose(fp);
puts("Enter to exit, any other to continue.");
if((ch = getc(stdin)) == 'X')
break;
else
continue;
}
else{
fprintf(stderr,"\nError opening file %s in mod %s.\n", filename, mode);
puts("Enter x to exit, any other to try again.");
if((ch = getc(stdin))=='X')
break;
else
continue;
}
}
}
<모드>
r : 파일을 읽기 상태로 연다. 지정된 이름의 파일이 존재하지 않으면 fopen()은 NULL을 돌려준다.
w : 파일을 쓰기 상태로 연다. 지정된 이름의 파일이 존재하지 않으면 생성된다. 지정된 이름의 파일이 존재하면 경고 없이 삭제되고 새롭게 파일이 생성된다.
a : 파일을 데이터 추가 상태로 연다. 지정된 이름의 파일이 존재하지 않으면 생성된다. 파일이 이미 존재한다면 새로운 데이터는 파일의 마지막에 추가된다.
'Backend > C' 카테고리의 다른 글
argc, argv를 이용한 간단한 사칙연산. (0) | 2012.04.12 |
---|---|
strcpy()함수 (0) | 2012.04.12 |
Hello, World! (0) | 2012.04.12 |
About C Language (0) | 2012.04.12 |
glib의 간단한 사용법 (0) | 2012.04.12 |