공돌하우스

파일 입출력 본문

C_Language

파일 입출력

전자둥이 2021. 10. 4. 22:20

본 포스팅은 개인적으로 공부하여 이해한 것을 바탕으로 작성되어있으므로 틀린 부분이 있을 수도 있습니다. 궁금한 점이 있다면 댓글을 남겨주세요!

 

 

파일 입출력의 필요성

 

프로그램이 꺼진 이후에도 데이터를 저장하기 위해서 파일 입출력이 필요합니다

 

파일 입출력 변수는 FILE형식의 포인터 변수로 선언되어집니다.

파일을 열 때

 - fopen()

파일을 닫을 때

 - fclose()

 

FILE *fp;

fp = fopen(파일 경로, 접근 방식);

//파일 관련 처리

fclose(fp);

 

접근 방식

r : 파일에 접근하여 데이터를 읽습니다.

w : 파일에 접근하여 데이터를 기록합니다. (파일이 이미 존재하면 덮어쓰기)

a : 파일에 접근하여 데이터를 뒤에서부터 기록합니다.

 

 

파일 입출력 함수

fprintf( 파일 포인터, 서식, 형식 지정자);

fscanf(파일 포인터, 서식, 형식 지정자);

printf나 scanf에서 파일 포인터라는 매개변수가 추가 되었다고 생각하시면 됩니다!

 

파일 포인터를 사용하여 파일을 열었을 때 이는 동적으로 할당 된것이기 때문에 파일을 열었을 때 파일을 꼭 닫아주고 다음 작업을 진행해줘야합니다. 그렇지 않을 경우 메모리 누수가 발생할 수도 있습니다.

 

간단한 예제

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

 

int main(void){

    char s[10] = "Hi";

    FILE *fp; // 파일 포인터

    fp = fopen("temp.txt", "w");

    fprintf(fp, "%s\n", s);

    fclose(fp);

    return 0;

}

 

다음 예제를 실행시키면 실행시킨 디렉토리에 temp.txt가 생성될것입니다.

 

지금까지 포스팅을 읽어주셔서 감사합니다!