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.
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:
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:
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!