(1) 텍스트 파일
(2) 2진 파일
2진 데이터가 저장되어 있어 사람이 직접 읽기 힘듦
아스키 코드로 저장되지 않고, 그대로 입출력 되어 컴퓨터에서 처리됨
예 ) 실행파일 및 멀티미디어 파일 등
FILE *f; // 파일 포인터 정의
f=fopen(“1.txt”,”w”); // 피일 열기 ( 읽기 또는 쓰기 )
.., // 파일 작업
fclose(f); // 파일 닫기
“r” » 읽기 모드로 파일을 열기, 파일이 존재하지 않을 경우 에러
“w” » 쓰기 모드로 새로운 파일을 생성, 파일이 존재할 경우 덮어쓰기
“a” » 추가 모드로 파일을 열기, 기존의 파일이 있으면 데이터가 파일의 끝에 추가
» 파일이 존재하지 않을 경우 새로운 파일 생성
“r+”, “w+” » 읽기 또는 쓰기 모드로 파일을 열기
“a+” » 추가 모드로 파일 열기
» EOF 뒤로 내용 추가
» 파일이 없을 경우 파일을 새로 생성
“t” » 텍스트 파일 모드로 파일 열기
“b” » 2진 파일 모드로 파일 열기
“rb” - 읽기 모드 + 2진 파일 모드
“wb” - 쓰기 모드 + 2진 파일 모드
“ab” - 추가 모드 + 2진 파일 모드
“rb+” - 읽고 쓰기 모드 + 2진 파일 모드
“wb+” - 쓰고 읽기 모드 + 2진 파일 모드
fflush(fp);
» 버퍼의 내용을 디스크에 저장함, visual studio 등 일부 IDE에서 사용 가능
setbuf(fp, NULL);
» 스트림의 버퍼를 직접 지정함, visual studio 등 일부 IDE에서 사용
» NULL을 쓸 경우 버퍼를 제거함