C fopen() 파일 열기 함수
C언어 함수 fopen()은 파일을 읽거나 쓰기를 하기 위해서 파일 열기를 합니다. 파일을 사용 후에는 fclose()로 닫습니다.
- 헤더: stdio.h
- 형태: FILE *fopen(const char *path, const char *mode)
- 인수: char *path 열고자하는 파일의 전체 이름
char *mode 파일 열기를 위한 옵션, 사용 형태
- 반환: FILE * 파일 포인터를 반화하며, 열기에 실패하면 NULL을 반환합니다.
mode 상세 설명
mode |
설명 |
"r" |
읽기 전용. 파일이 반드시 있어야 합니다. |
"w" |
쓰기 전용. 파일이 없으면 생성되고, 파일이 있다면 기존 내용은 지워집니다. |
"a" |
내용 추가. 파일이 없으면 생성되고, 파일이 있다면 기존 내용 뒤에 추가됩니다. |
"rb" |
바이너리 파일 읽기 전용으로 열기 |
"wb" |
바이너리 파일 쓰기 전용으로 열기 |
"ab" |
바이너리 파일 추가용으로 열기 |
"r+" |
읽기와 쓰기용으로 열기 |
"w+" |
읽기와 쓰기용으로 열기 |
C언어 fopen() 함수 예제
#include <stdio.h>
#include <stdlib.h>
int main( void)
{
FILE *fp;
char *str;
int buff_size;
buff_size = 1024;
if ( fp = fopen( "./test.c", "r")){
str = malloc( buff_size+5);
while( fgets( str, buff_size, fp))
printf( "%s", str);
fclose( fp);
free( str);
}
return 0;
}
C언어 fopen() 예제 실행 결과
]$ ./a.out
#include <stdio.h>
#include <stdlib.h>
int main( void)
{
FILE *fp;
char *str;
int buff_size;
buff_size = 1024;
if ( fp = fopen( "./test.c", "r")){
str = malloc( buff_size+5);
while( fgets( str, buff_size, fp))
printf( "%s", str);
fclose( fp);
free( str);
}
return 0;
}]$