CODEDRAGON ㆍDevelopment/C, C++
fopen()함수와 fclose()함수
헤더파일 |
stdio.h |
fopen()함수 |
파일 스트림을 생성하고 파일을 오픈 |
fclose()함수 |
파일 스트림을 닫고, 파일도 닫기 |
함수 원형
함수의 원형 |
설명 |
#include<stdio.h> FILE* fopen (const char* filename, const char* mode); |
|
#include<stdio.h> int fclose (FILE* stream); |
|
파일 스트림
'FILE* 구조체 포인터'를 이용
파일 스트림 생성 예
FILE* stream; |
fopen( )의 인자
구분 |
인자명 |
설명 |
첫 번째 인자 |
filename |
파일의 경로와 이름을 동시에 표현 |
두 번째 인자 |
mode |
파일의 접근 모드 와 파일 입출력 모드 표현 |
파일의 접근 모드 (r, w, a, r+, w+, a+)
모드 |
설명 |
r |
|
w |
|
a |
|
r+ |
|
w+ |
|
a+ |
|
파일 입출력 모드
모드 |
설명 |
t |
텍스트 파일 모드 (text file mode) |
b |
바이너리 파일 모드 (binary file mode) |
텍스트 모드의 경우 't' 생략 가능
FILE* stream; stream=fopen("C:\\workspace\\data.txt", "r"); |
FILE* stream; stream=fopen("C:\\workspace\\data.txt", "w"); |
FILE* stream; stream=fopen("C:\\workspace\\data.txt", "rt"); |
FILE* stream; stream=fopen("C:\\workspace\\data.txt", "wt"); |
FILE* stream; stream=fopen("C:\\workspace\\data.txt", "ab"); |
대표적인 표준 입출력 함수와 표준 파일 입출력 함수
stream을 입력하는 함수(표준 파일 입출력 함수)인 경우는 stdin 또는 stdout 선택적 사용 가능합니다.
표준 입출력 함수 |
표준파일 입출력 함수 |
기능 |
헤어파일 |
int getchar (void); |
int fgetc (FILE* stream); |
문자 단위 입력 |
stdin |
int putchar (int c); |
int fputc (int c, FILE* stream); |
문자 단위 출력 |
stdout |
char* gets (char *s); |
char* fgets (char *s, int n, FILE* stream); |
문자열 단위 입력 |
stdin |
int puts (char* str); |
int fputs (const char* s, FILE* stream); |
문자열 단위 출력 |
stdout |
int scanf (const char* format, …); |
int fscanf (FILE* stream, const char* format, …); |
자료형에 맞춘 입력 |
선택가능 |
int fprintf (FILE* stream, const char* format, …); |
자료형에 맞춘출력 |
선택가능 |
표준 파일 입출력 함수의 선택 적용 가능
입출력 Case
Case |
입력 |
-> |
출력 |
Case 1 |
파일(stream) |
-> |
파일(stream) |
Case 2 |
파일(stream) |
-> |
모니터(stdout) |
Case 3 |
키보드(stdin) |
-> |
파일(stream) |
Case 4 |
키보드(stdin) |
-> |
모니터(stdout) |
'Development > C, C++' 카테고리의 다른 글
콘솔 입출력 함수 (0) | 2015.07.29 |
---|---|
Buffer(버퍼), 버퍼링(Buffering) (0) | 2015.07.29 |
파일 입출력 - 파일 입출력의 필요성, 표준 파일 입출력 함수, 파일 입출력 과정 (0) | 2015.07.29 |
Stream(스트림) - 콘솔 입출력, 표준 입출력 스트림, 파일 입출력 스트림 (0) | 2015.07.29 |
구조체와 포인터 - 멤버 변수로 포인터 사용/구조체 변수로 포인터 사용하기, 자기 참조 구조체와 외부 참조 구조체 (0) | 2015.07.29 |