Maison >développement back-end >Tutoriel C#.Net >Quelle est la forme générale d'appel de la fonction fwrite ?
La forme générale d'appel de la fonction fwrite est "fwrite(buffer, size, count, fp);" où buffer est l'adresse de début du bloc de données à sortir et la taille est les octets de chacun. bloc de données. Nombre, count est utilisé pour spécifier le bloc de données à écrire ou à sortir à chaque fois, et fp est le pointeur de fichier.
fwrite() est une fonction de traitement de fichiers dans la bibliothèque standard du langage C. Sa fonction est d'écrire plusieurs blocs de données dans le fichier spécifié. Renvoie le nombre de blocs de données réellement écrits. Cette fonction opère sur les fichiers sous forme binaire et ne se limite pas aux fichiers texte.
Syntaxe :
fwrite(buffer,size,count,fp)
Paramètres :
le tampon est les données à sortie L'adresse de départ du bloc
size est le nombre d'octets de chaque bloc de données
count est utilisé pour spécifier les données à écrit ou sorti à chaque fois que Block
fp est le pointeur de fichier.
La fonction renvoie le nombre de données écrites.
Remarque
(1) Le flux fclose() doit être fermé après l'opération d'écriture fwrite().
(2) Sans fermer le flux, chaque fois que des données sont lues ou écrites, le pointeur de fichier pointe vers le prochain emplacement de données à écrire ou à lire.
Types courants de lecture et d'écriture
(1) Écrire des données int dans un fichier
#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) Lire des données 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; }
Résultats de l'exécution :
5. Lire et écrire des données de structure
(1) Écrire des données de structure dans un fichier
#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) Lire les données de structure
#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; }
Résultat de l'exécution :
Recommandations associées : Vidéo du didacticiel en langage c
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!