>  기사  >  백엔드 개발  >  fwrite 함수의 일반적인 호출 형식은 무엇입니까?

fwrite 함수의 일반적인 호출 형식은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-08-29 16:31:447701검색

fwrite 함수의 일반적인 호출 형식은 "fwrite(buffer, size, count, fp);"입니다. 여기서 buffer는 출력할 데이터 블록의 시작 주소이고, size는 각 데이터 블록의 바이트 수입니다. 그리고 count가 사용됩니다. 매번 쓰거나 출력할 데이터 블록을 지정하기 위해 fp는 파일 포인터입니다.

fwrite 함수의 일반적인 호출 형식은 무엇입니까?

fwrite()는 C 언어 표준 라이브러리의 파일 처리 함수로, 해당 기능은 지정된 파일에 여러 데이터 블록을 쓰는 것입니다. 성공적으로 실행되면 실제로 작성된 데이터 블록 수를 반환합니다. . 이 기능은 바이너리 형식의 파일에서 작동하며 텍스트 파일에만 국한되지 않습니다.

구문:

fwrite(buffer,size,count,fp)

매개변수:

  • buffer는 출력할 데이터 블록의 시작 주소입니다.

  • size는 각 데이터 블록의 바이트 수입니다.

  • count는 사용

  • fp가 파일 포인터일 때마다 쓰거나 출력할 데이터 블록을 지정합니다.

이 함수는 작성된 데이터의 수를 반환합니다.

Note

(1) 쓰기 작업 fwrite() 후에 fclose() 스트림을 닫아야 합니다.

(2) 스트림을 닫지 않고 데이터를 읽거나 쓸 때마다 파일 포인터는 쓰거나 읽을 다음 데이터 위치를 가리킵니다.

일반적인 읽기 및 쓰기 유형

(1) 파일에 int 데이터 쓰기

#include <stdio.h>
#include <stdlib.h>
int main ()
{
  FILE * pFile;
  int buffer[] = {1, 2, 3, 4};
  if((pFile = fopen ("myfile.txt", "wb"))==NULL)
  {
      printf("cant open the file");
      exit(0);
  }
  //可以写多个连续的数据(这里一次写4个)
  fwrite (buffer , sizeof(int), 4, pFile);
  fclose (pFile);
  return 0;
}

(2) int 데이터 읽기

#include <stdio.h>
#include <stdlib.h>

int main () {
    FILE * fp;
    int buffer[4];
    if((fp=fopen("myfile.txt","rb"))==NULL)
    {
      printf("cant open the file");
      exit(0);
    }
    if(fread(buffer,sizeof(int),4,fp)!=4)   //可以一次读取
    {
        printf("file read error\n");
        exit(0);
    }

    for(int i=0;i<4;i++)
        printf("%d\n",buffer[i]);
    return 0;
}

실행 결과:

fwrite 함수의 일반적인 호출 형식은 무엇입니까?

5. (1) 파일에 구조 데이터 쓰기

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct{
    int age;
    char name[30];
}people;

int main ()
{
    FILE * pFile;
    int i;
    people per[3];
    per[0].age=20;strcpy(per[0].name,"li");
    per[1].age=18;strcpy(per[1].name,"wang");
    per[2].age=21;strcpy(per[2].name,"zhang");

    if((pFile = fopen ("myfile.txt", "wb"))==NULL)
    {
        printf("cant open the file");
        exit(0);
    }

    for(i=0;i<3;i++)
    {
        if(fwrite(&per[i],sizeof(people),1,pFile)!=1)
            printf("file write error\n");
    }
    fclose (pFile);
    return 0;
}

(2) 구조 데이터 읽기

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct{
    int age;
    char name[30];
}people;

int main () {
    FILE * fp;
    people per;
    if((fp=fopen("myfile.txt","rb"))==NULL)
    {
      printf("cant open the file");
      exit(0);
    }

    while(fread(&per,sizeof(people),1,fp)==1)   //如果读到数据,就显示;否则退出
    {
        printf("%d %s\n",per.age,per.name);
    }
    return 0;
}

실행 결과:

fwrite 함수의 일반적인 호출 형식은 무엇입니까?관련 권장 사항:

c 언어 튜토리얼 비디오

위 내용은 fwrite 함수의 일반적인 호출 형식은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.