C언어 - 파일 입출력, fopen(), fclose()

Programming/C 2016. 6. 22. 09:30

<파일 입출력>

파일로부터 입력을 받고출력을 받는 것이다.

지금까지는 키보드로 부터 혹은 모니터에다가 출력을 하고 입력을 받았다. 프로그램을 만들면 그 프로그램 중 데이터가 만들어지면 데이터를 메모리에 보관해서 사용했다. 메모리에 저장된 데이터는 프로그램이 종료되면 사라졌다. 이런 데이터들을 일일이 저장하는 방법이나, 프로그램이 종료된 후에도 계속 사용하고 싶으면 어떻게해야할까... 바로 파일을 이용하면 된다.

 

1. 파일 스트림을 생성

파일 스트림을 생성하려면 파일 포인터가 필요하다. 파일 포인터는 파일에 접근하는데 사용되는 FILE구조체를 의미하는데, 그 동작을 해주는 함수가 fopen()함수이다. 쉽게말해 파일 스트림의 실체가 파일 포인터라고 생각하자.

2. 파일을 연다.

3. 파일 입출력 수행

파일 입출력에 사용되는 함수들은 종류가 많다. 추후에 알아보자.

4. 파일을 닫는다.

파일을 열고 작업을 수행했으면 파일을 닫아야 하는데 그 때 사용되는 함수가fclose()이다.

이 순서대로 진행이 된다.

 


<fopen()함수, fclose()함수>

fopen(파일의 경로, 파일 열기 모드)

ex) fopen("D:\\project\\kyg\\data.txt", "rt");

앞에 인자는 파일의 경로를 넣어주면 된다.

뒤에 인자는 파일 열기 모드인데, 이 모드에는 3가지가 있다.

r : 읽기 전용 파일로 열고, 파일이 없거나 찾을 수 없으면 호출 실패

w : 쓰기 전용 파일로 열고, 파일이 있으면 파일의 내용을 모두 지우고 새파일을 쓰게된다파일이 없거나 찾을 수 없으면 새로운 파일을 생성해서 데이터를 쓴다.

a : 추가 쓰기 전용파일로 열고, 지정한 파일이 있으면 파일의 끝에서부터 내용을 추가한다.

 

t : 텍스트 파일 모드이다.

b : 바이너리 파일 모드이다.

위에 "rt"를 해석하면 읽기전용 파일로 열고 텍스트 파일 모드이다.

 

 

<실습>

-결과-

posted by 경원구