'fwrite'에 해당되는 글 1건

  1. 2010.08.18 [C언어]파일 입출력#4 <바이너리 모드> ( fwrite(), fread() ) (4)
2010.08.18 14:14

  프로그램에서 사용하는 표현과 동일한 표현으로 데이터를 파일에 저장할 때, 그 데이터가 바이너리 형태(binary form)로 저장된다고 합니다.  수치가 문자열로 변환되는 일이 일어나지 않지요.
 표준 입출력의 경우에, fread()와 fwrite() 함수가 이와같은 바이너리 서비스를 제공합니다.

size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

fwrite() 매개변수 설명
- buffer : 저장할 데이터 덩어리의 주소,
- size : 저장할 데이터 덩어리들의 크기,
- count : 저장할 데이터 덩어리들의 수,
- stream : 데이터가 저장될 파일

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

fread() 매개변수 설명
- buffer : 파일로부터 읽은 데이터를 저장할 메모리 공간의 주소
- size : 데이터들의 크기
- count : 데이터들의 수
- stream : 데이터를 읽을 파일

예제를 보면서 설명하겠습니다.

1. 구조체 선언



2. 구조체 정의 및 파일 입출력
 

 보신것처럼 Book구조체 배열b1에 Book1개의 공간을 정의하고
배열b1의 첫번째 공간에 페이지의 수, 가격, 도서명을 입력 후 20번째 줄의 fwrite()를 이용하여 저장을합니다.
 그 후 읽어드릴때는 Result라는 Book형의 배열을 선언하고 그 첫번째 공간에 fread()함수를 이용하여 옮겨담았습니다.

3. 출력 결과 및 파일입출력 결과


< 실행파일 >
저작자 표시 비영리 변경 금지
신고
Posted by Daos

티스토리 툴바