Backend/C

파일을 여러 가지 모드로 열기

petitCoding 2012. 4. 12. 10:19

#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