APUE의 표준 I/O fopen,freopen,fread,fwrite 인스턴스입니다.

#include
형식:
FILE *fopen(const char *path, const char *mode); 
FILE *fdopen(int fildes, const char *mode);        //            fileds  
FILE *freopen(const char *path, constchar *mode,FILE *stream);

2. 매개 변수 설명 filename: 열 파일 이름
mode: 파일이 열린 모드, fopen의 모드(r/w)와 동일
stream: 파일 포인터, 보통 표준 흐름 파일 사용하기 (stdin/stdout/stderr)
값 되돌리기: 성공하면 path가 지정한 파일의 바늘을 되돌려줍니다.장애가 발생하여 NULL로 돌아갑니다.(일반적으로 되돌아오는 값을 사용하지 않음) 기능: 미리 정의된 표준 흐름 파일을 path에서 지정한 파일로 방향을 바꾸는 것을 실현합니다.표준 흐름 파일은 구체적으로 stdin, stdout, stderr를 가리킨다.그 중에서 stdin은 표준 입력 흐름이고 기본값은 키보드이다.stdout은 표준 출력 흐름으로 기본적으로 화면입니다.stderr는 표준 오류 흐름입니다. 보통 화면을 기본값으로 설정합니다.freopen을 호출하면 표준 흐름 파일의 기본값을 수정하여 방향을 바꿀 수 있습니다.
주:freopen도 표준 입력과 표준 출력의 방향을 바꿀 수 있습니다.
#include<stdio.h>
#define TEST "say hello
" int main(int argc,char **argv) { /*if(NULL== (freopen("testdup1","w", stdin))) { printf("error"); } 1 2 */ if(NULL== (freopen("testdup2","w", stdout))) { printf("error"); } printf(TEST); return 0; }

헤더 파일 #include
fread 함수 원형
size_t fread( void * ptr,size_t size,size_t nmemb,FILE * stream);
fwrite 함수 원형
size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);
일반 호출 형식
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
설명
(1)buffer:fread에 대해 데이터를 읽는 저장 주소입니다.fwrite에서 데이터를 출력할 주소입니다.
(2)size: 읽을 바이트 수;
(3)count: 몇 개의 사이즈 바이트의 데이터 항목을 읽고 쓰는지 읽기;
(4)fp: 파일형 포인터.
사용법:
(1) 이진수 그룹을 읽거나 쓴다.예를 들어 하나의 부동 소수점 그룹의 2~5개 요소를 파일에 쓴다.
float data[10];
if (fwrite(&data[2], sizeof(float), 4, fp)  != 4)
    err_sys("fwrite error");  //  ,  size          ,nobj       。

(2) 구조를 읽거나 쓴다.예를 들면 다음과 같습니다.
struct{
	short count;
	long total;
	char name[NAMESIZE];
}item;
	if (fwrite( &item, sizeof(item), 1, fp) != 1)
		err_sys("fwrite error");  //  size      ,nobj 1(      )。

좋은 웹페이지 즐겨찾기