파일 입출력

FeelSoo·2022년 6월 19일
0

0. 파일 입출력 함수



1. 파일의 종류

(1) 텍스트 파일

  • 텍스트로 작성된 파일
  • 아스키 코드로 저장됨
  • 예 ) 프로그램 소스파일 및 메모장 등

(2) 2진 파일

  • 2진 데이터가 저장되어 있어 사람이 직접 읽기 힘듦

  • 아스키 코드로 저장되지 않고, 그대로 입출력 되어 컴퓨터에서 처리됨

  • 예 ) 실행파일 및 멀티미디어 파일 등




2. 파일 입출력 코드


FILE *f;				// 파일 포인터 정의
f=fopen(“1.txt”,”w”);	// 피일 열기 ( 읽기 또는 쓰기 )	
						
..,						// 파일 작업

fclose(f);				// 파일 닫기

FILE 구조체를 이용하여 포인터 변수 f를 정의하고 fopen() 함수를 통해 접근하고자 하는 파일과 작업 모드 ( w, r, a 등 ) 를 정의하고 작업 후 fclose() 함수로 파일 입출력을 종료한다.

  • "1.txt" : 파일의 이름, 만일 경로가 있다면, 경로를 명시해줘야 함




3. 텍스트 파일 모드



“r” » 읽기 모드로 파일을 열기, 파일이 존재하지 않을 경우 에러

“w” » 쓰기 모드로 새로운 파일을 생성, 파일이 존재할 경우 덮어쓰기

“a” » 추가 모드로 파일을 열기, 기존의 파일이 있으면 데이터가 파일의 끝에 추가
	» 파일이 존재하지 않을 경우 새로운 파일 생성
    
    
“r+”, “w+” » 읽기 또는 쓰기 모드로 파일을 열기


“a+” » 추가 모드로 파일 열기
	 » EOF 뒤로 내용 추가
	 » 파일이 없을 경우 파일을 새로 생성
    
    
“t” » 텍스트 파일 모드로 파일 열기

“b” » 2진 파일 모드로 파일 열기





4. 2진 파일 모드


“rb” - 읽기 모드 + 2진 파일 모드

“wb” - 쓰기 모드 + 2진 파일 모드

“ab” - 추가 모드 + 2진 파일 모드

“rb+” - 읽고 쓰기 모드 + 2진 파일 모드

“wb+” - 쓰고 읽기 모드 + 2진 파일 모드





5. 파일 입출력 함수





6. 버퍼 관리


fflush(fp); 

» 버퍼의 내용을 디스크에 저장함, visual studio 등 일부 IDE에서 사용 가능


setbuf(fp, NULL); 

» 스트림의 버퍼를 직접 지정함, visual studio 등 일부 IDE에서 사용
» NULL을 쓸 경우 버퍼를 제거함

profile
세상은 넓고 배울건 많다

0개의 댓글