C 언어에서 파일 입출력은 프로그램이 저장 장치(디스크, USB 드라이브 등)와 데이터를 주고받는 데 필요한 기능입니다.
**파일 개방:** C언어에서는 파일을 열기 위해 `fopen()` 함수를 사용합니다. 이 함수에 파일 이름과 파일 모드를 입력하면 파일 포인터가 생성됩니다. 파일 포인터는 파일을 가리키는 변수로, `fclose()` 함수를 이용하여 파일을 닫습니다.
**파일 모드:** 파일을 열 때 사용하는 모드는 다음과 같습니다.
* `r`: 읽기 모드(기본값) - 파일을 읽기 위해 열어줍니다. 만약 파일이 존재하지 않으면 에러 발생합니다.
* `w`: 쓰기 모드 - 파일을 새로 생성하거나 기존 파일을 삭제하여 쓸 수 있도록 합니다.
* `a`: 추가 모드 - 파일의 끝에 데이터를 추가합니다. 파일이 존재하지 않으면 새로 만들어집니다.
* `x`: 새파일 생성 모드 - 새로운 파일을 만듭니다. 이미 같은 이름의 파일이 있다면 에러 발생합니다.
**파일 읽기:** 파일 포인터를 이용하여 데이터를 읽는 함수는 `fread()` 입니다.
`fscanf()` 함수는 특정 형식으로 파일에서 데이터를 읽습니다.
**파일 쓰기:** 파일 포인터를 이용하여 데이터를 쓰는 함수는 `fwrite()` 입니다.
`fprintf()` 함수는 특정 형식으로 파일로 데이터를 씁니다.
**예시:**
```c
#include <stdio.h>
int main() {
FILE *fp; // 파일 포인터 변수 선언
char filename[] = "example.txt"; // 파일 이름
// 파일을 쓰기 모드로 열기
fp = fopen(filename, "w");
if (fp == NULL) {
printf("파일 오픈 실패!\n");
return 1;
}
fprintf(fp, "Hello World!\n"); // 파일로 데이터 쓰기
fclose(fp); // 파일 닫기
printf("데이터가 %s 파일에 저장되었습니다.\n", filename);
return 0;
}
```
**참고:**
* 파일 I/O 오류 처리를 위한 `perror()` 함수를 사용하는 것이 중요합니다.
댓글 달기