[파일 열기와 닫기]
FILE *fp = fopen("input.txt", "r"); // 파일 포인터 선언과 열기 fclose(fp); // 파일 닫기 | cs |
[파일 열기 방식]
플래그 |
역할 |
파일이 존재하지 않는 경우 |
파일이 존재하는 경우 |
파일 쓰기 시도할 경우 |
r |
읽기 모드 |
NULL을 반환 |
존재하는 파일을 엶 |
안 됨 |
r+ |
읽기/쓰기 |
NULL을 반환 |
존재하는 파일을 엶 |
내용과 관계없이 겹쳐서 처음부터 써짐 |
w |
쓰기 |
새로운 파일 생성 |
새로운 파일 생성 |
잘 써짐 |
w+ |
쓰기/읽기 |
새로운 파일 새성 |
새로운 파일 생성 |
잘 써짐 |
a |
쓰기(추가작성) |
새로운 파일 생성 |
존재하는 파일을 엶 |
뒤쪽에 추가로 써짐 |
a+ |
쓰기/읽기 |
새로운 파일 생성 |
존재하는 파일을 엶 |
뒤쪽에 추가로 써짐 |
rb |
2진 읽기 모드 |
NULL을 반환 |
존재하는 파일을 엶 |
안 됨 |
r+b |
2진 읽기/쓰기 |
NULL을 반환 |
존재하는 파일을 엶 |
내용과 관계없이 겹쳐서 처음부터 써짐 |
wb |
2진 쓰기 |
새로운 파일 생성 |
새로운 파일 생성 |
잘 써짐 |
w+b |
2진 쓰기/읽기 |
새로운 파일 생성 |
새로운 파일 생성 |
잘 써짐 |
ab |
2진 쓰기(추가) |
새로운 파일 생성 |
존재하는 파일을 엶 |
뒤쪽에 추가로 써짐 |
a+b |
2진 쓰기/읽기 |
새로운 파일 생성 |
존재하는 파일을 엶 |
뒤쪽에 추가로 써짐 |
[fscanf, fprintf]
int x; fscanf(fp, "%d", &x); fprintf(fp, "%d", x); | cs |
scanf, printf와 같이 사용하면 되는데, file pointer를 앞부분에 파라미터로 전달해준다.
[fgets, fputs]
char buf[BUF_SIZE]; fgets(buf, 30, fp); fputs("Hello World", fp); | cs |
- string 단위로 입출력을 실행하는 기능이다.
- fgets(char 배열, 읽을 크기, 파일 포인터)
- fputs(문자열, 파일 포인터)
[fseek]
fseek(fp, offset, FLAG); | cs |
- 파일 포인터의 위치를 변경할 수 있다.
- FLAG로 다음을 사용할 수 있다.
(1) SEEK_SET : 파일 처음
(2) SEEK_CUR : 현재 위치
(3) SEEK_END : 파일의 끝
[fwrite, fread - 바이너리 파일로 열었을 경우 사용 가능]
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream); | cs |
- 반환 : 파일에 쓴 데이터 항목의 수(count)
size_t fread (void *buffer, size_t size, size_t count, FILE *stream); | cs |
- 반환 : 파일에서 읽어온 데이터 항목의 수(count)
'C & C++ > Reference' 카테고리의 다른 글
정렬 알고리즘 (0) | 2018.05.02 |
---|---|
C++ string 정리 (3) | 2018.01.23 |