오늘은 파일 입출력에 대해서 포스팅하겠습니다.
아마 이번이 C언어 기초는 마지막 포스팅일 것 같습니다.
[파일 입출력]
파일 입출력이란? 파일을 read 하고 write 하는 파일 제어 자료형입니다.
파일의 값을 read write 하는데 쓰이는 자료형은 FILE 입니다.
아래는 파일 입출력과 같이 쓰이는 함수입니다.
fopen(const char *_Filename, const char *_Mode);
: 어떤 파일을 열 것인지, read 할 건지 write 할 건지를 선택하는 함수.
_Filename 에는 파일의 경로가 String 형태로 입력되어집니다.
( ex : "C:\Projects\성적.txt" )
fclose(FILE *_File);
: 파일 입출력형 포인터 변수 자원 정리 함수
int fprintf(FILE *_File, const char *format ...);
: printf 형식으로 file 에 문자 또는 숫자를 출력하는 함수
int fscanf (FILE *_File, const char *format ...);
: scanf 형식으로 fiel 에 문자 또는 숫자를 입력(가져오는) 받는 함수
size_t fread(void *buffer, size_t size, size_t count, FILE *_File);
: 이미지 또는 Binary Data 파일을 read 할 때 많이 사용되는 함수
fread는 보통 이미지 파일 및 Binary Data 를 읽어올 때 많이 사용됩니다. 자세한 내용은 다음 기회에 포스팅 하겠습니다.
간단한 예제를 통해 알아보겠습니다.
#include <stdio.h>
typedef struct Student{ // 구조체 선언
char Name[32];
int kor;
int eng;
int math;
}Student;
void main()
{
Student st;
FILE *in = NULL; // 파일 스트림 변수 선언 및 초기화
in = fopen("성적.txt", "r");
fscanf(in, "%s %d %d %d", st.Name, &st.kor, &st.eng, &st.math); // 파일에 있는 값 읽어오기
printf("이름 : %s\n", st.Name);
printf("국어 점수 : %d\n", st.kor);
printf("영어 점수 : %d\n", st.eng);
printf("수학 점수 : %d\n", st.math);
fclose(in); // 파일 스트림 종료
}
fscanf 는 파일에 있는 값을 읽어오는 함수이고, fprintf 는 저희가 Console 찍히는 문자 또는 숫자들이 파일의 형태로 출력된다고(파일로 생성) 생각하시면 됩니다.
프로그램 실행을 하고 실행한 값을 파일로 저장하고 또는 프로그램 실행 시 이전 값을 불러와서 프로그램이 실행되게 할 수 있습니다.
-> DB라고 말하긴 거창하지만, 추후에 DB도 결국 File 의 형태로 관리됩니다.
그럼 파일 입출력에 대해서 포스팅을 마치겠습니다.
그럼 20000.
C언어 memset, memcpy 메모리(데이터) 초기화 및 복사 (4) | 2020.04.09 |
---|---|
11강 C언어 동적할당, malloc, free (0) | 2020.04.07 |
9강 C언어 구조체 (0) | 2020.01.30 |
8강 C언어 함수(Function), API (0) | 2020.01.29 |
7강 C언어 배열과 포인터 심화 (0) | 2020.01.28 |