티스토리 뷰

C언어 이야기

[C언어] fopen(), fprintf()함수를 이용한 파일 입출력



* 함수 fopen()

오늘은 파일 입출력을 해보고자 합니다.

먼저 파일을 만들어 보겠습니다. 

파일을 만들기 위해서는 fopen() 함수를 이용합니다.

 

* fopen() 함수의 원형

FILE * fopen ( const char *, const char * );

첫번째 인자 const char * : 처리하려는 파일 이름

두번째 인자 const char * : 파일 처리 종류를 지정(모드)

fopen() 함수는 두 개의 문자열 전달인자를 사용하며, 반환값은 포인터값인 FILE* 입니다.


두번째 인자의 종류(파일 처리 모드의 종류)

모드

의 미

r

읽기(read)모드
파일이 없을 경우 에러 발생

w

쓰기(write)모드
파일이 없을 경우 새로 만들고, 기존의 파일이 있으면 기존의 내용을 삭제하고 파일의 처음부터 기록합니다.

a

추가 쓰기(append)모드
파일이 없을 경우 새로 만들고, 기존의 파일이 있으면 그 파일의 가장 뒤부터 파일에 추가

r+

읽기(read) + 쓰기(write) 모드
파일이 없을 경우 에러 발생

w+

읽기(read) + 쓰기(write) 모드
파일이 없으면 새로 만들고, 기존의 파일이 있으면 그 이전의 내용은 없어지고 파일의 처음부터 기록합니다.

a+

추가 쓰기(append)모드
파일이 없으면 새로 만들고, 기존의 파일이 있으면 그 파일의 가장 뒤부터 파일에 추가합니다. 파일의 어느 곳이나 읽기는 가능하나 쓰기는 파일 끝에 추가적으로만 가능합니다.

파일에 쓰기 위해서는 fprintf()함수를 사용합니다.

 

fprintf()함수의 원형

int fprintf( FILE *, const char *, … ) ;
첫번째 인자 FILE * : 입출력에 이용될 파일

두번째 인자 const char * : 입출력되는 문자열

다음 인자 : 입출력될 변수 목록

  

fprintf() 함수의 첫번째 인자로 다음을 사용하면 표준입출력으로 사용할 수 있습니다.

표준 파일

키워드

장치(device)

표준입력

stdin

키보드

표준출력

stdout

모니터 화면

표준에러

stderr

모니터 화면

댓글