APUE의 표준 I/O fopen,freopen,fread,fwrite 인스턴스입니다.
형식:
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( )。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 입출력 I/O스트림(stream) 자바에서 입출력을 수행하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림(stream)이라고 정의했다. 스트림은 단방향 통신만 가능하기 때문에 하나의 스트림으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.