FILE* fopen(const char* , const char* )
int fclose(FILE*)
int fscanf(FILE* , const char*)
int fprintf(FILE* , const char*)
int fread(void* , int , int , FILE*)
int fwrite(void* , int , int , FILE*)
char *fgets(char *, int , FILE*)
int fputs(char *, FILE*)
//I/O Mode
// r w a r+ w+ a+
//File Type
// t b

- 문자열 입력받아 파일에 저장하기
#include <stdio.h>
int main()
{
FILE* file;
char str[100];
// 문자열 입력받기
// 파일 쓰기 모드로 열기
if (file == NULL) {
printf("파일을 열 수 없습니다.\\n");
return 1;
}
// 파일에 문자열 쓰기
fclose(file);
return 0;
}
- 파일로부터 문자열을 읽어서 출력하기
#include <stdio.h>
int main()
{
FILE* file;
char str[256];
// 파일 읽기 모드로 열기
if (file == NULL) {
printf("파일을 열 수 없습니다.\\n");
return 1;
}
// 파일에서 읽기
// 파일에서 읽은 데이터 출력
fclose(file);
return 0;
}
- 파일에 쓰고 다시 읽기
#include <stdio.h>
int main()
{
FILE* file;
int n, number, count=0, sum = 0;
double average;
printf("저장할 숫자의 개수를 입력하세요: ");
scanf("%d", &n);
// 쓰기 모드로 파일 열기
if (file == NULL) {
printf("파일을 열 수 없습니다.\\n");
return 1;
}
printf("숫자 %d개를 입력하세요:\\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &number);
// 입력받은 숫자를 파일에 저장
}
// 파일 닫기
// 읽기 모드로 파일 열기
if (file == NULL) {
printf("파일을 열 수 없습니다.\\n");
return 1;
}
// 파일에 저장된 숫자 읽기
// 파일 닫기
// 평균 계산
average = (float)sum / count;
// 결과 출력
printf("합계: %d\\n", sum);
printf("평균: %.2f\\n", average);
return 0;
}
- 파일 복사하기
#include <stdio.h>
int main()
{
FILE *src, *dest;
char src_file_name = "original.txt";
char dest_file_name = "copy.txt";
char buffer[256];
// 원본 파일 읽기 모드
if (src == NULL) {
printf("원본 파일을 열 수 없습니다.\\n");
return 1;
}
// 복사할 파일 쓰기 모드
if (dest == NULL) {
printf("복사 파일을 열 수 없습니다.\\n");
fclose(src);
return 1;
}
// 원본 파일에서 한 줄씩 읽기
// 읽은 내 복사 파일에 한 줄씩 쓰기
fclose(src);
fclose(dest);
return 0;
}
- 구조체 입출력
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char name[50];
int score[3];
float avg;
} Student;
int main()
{
FILE* file;
Student s= {"홍길동", {91, 83, 80}, 0.0f};
// 파일 열기
if (file == NULL) {
printf("파일을 열 수 없습니다.\\n");
return 1;
}
// 구조체 내용 파일에 저장
// 파일 닫기
printf("구조체 데이터를 파일에 저장했습니다.\\n");
// 파일 열기
if (file == NULL) {
printf("파일을 열 수 없습니다.\\n");
return 1;
}
// 저장된 내용 읽기
// 파일 닫기
printf("파일에서 구조체 데이터를 읽어왔습니다.\\n");
// 점수로부터 평균을 구해 출력하기
return 0;
}