Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die allgemeine Aufrufform der fwrite-Funktion?

Was ist die allgemeine Aufrufform der fwrite-Funktion?

青灯夜游
青灯夜游Original
2020-08-29 16:31:447697Durchsuche

Die allgemeine Aufrufform der fwrite-Funktion ist „fwrite(buffer, size, count, fp);“, wobei buffer die Startadresse des auszugebenden Datenblocks ist, size die Anzahl der Bytes jedes Datenblocks ist, und count wird verwendet, um den Datenblock anzugeben, der jedes Mal geschrieben oder ausgegeben werden soll. fp ist der Dateizeiger.

Was ist die allgemeine Aufrufform der fwrite-Funktion?

fwrite() ist eine Dateiverarbeitungsfunktion in der C-Sprachstandardbibliothek. Ihre Funktion besteht darin, eine Anzahl von Datenblöcken in die angegebene Datei zu schreiben. Bei erfolgreicher Ausführung wird die Anzahl der tatsächlich geschriebenen Datenblöcke zurückgegeben . Diese Funktion arbeitet mit Dateien in Binärform und ist nicht auf Textdateien beschränkt.

Syntax:

fwrite(buffer,size,count,fp)

Parameter:

  • Puffer ist die Startadresse des auszugebenden Datenblocks

  • Größe ist die Anzahl der Bytes jedes Datenblocks

  • count ist verwendet Geben Sie den Datenblock an, der jedes Mal geschrieben oder ausgegeben werden soll.

  • fp ist der Dateizeiger.

Die Funktion gibt die Anzahl der geschriebenen Daten zurück.

Hinweis

(1) Der Stream fclose() muss nach der Schreiboperation fwrite() geschlossen werden.

(2) Ohne den Stream zu schließen, zeigt der Dateizeiger jedes Mal, wenn Daten gelesen oder geschrieben werden, auf den nächsten Datenspeicherort, der geschrieben oder gelesen werden soll.

Übliche Arten des Lesens und Schreibens

(1) Int-Daten in Datei schreiben

#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-Daten lesen

#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;
}

Ausführungsergebnisse:

Was ist die allgemeine Aufrufform der fwrite-Funktion?

5. Strukturdaten lesen und schreiben

(1) Strukturdaten in Datei schreiben

#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) Strukturdaten lesen

#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;
}

Ausführungsergebnisse:

Was ist die allgemeine Aufrufform der fwrite-Funktion?

Verwandte Empfehlungen: C-Sprach-Tutorial-Video

Das obige ist der detaillierte Inhalt vonWas ist die allgemeine Aufrufform der fwrite-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn