Maison >développement back-end >Tutoriel C#.Net >Quelle est la forme générale d'appel de la fonction fwrite ?

Quelle est la forme générale d'appel de la fonction fwrite ?

青灯夜游
青灯夜游original
2020-08-29 16:31:447749parcourir

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.

Quelle est la forme générale d'appel de la fonction fwrite ?

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 :

Quelle est la forme générale dappel de la fonction fwrite ?

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 :

Quelle est la forme générale dappel de la fonction fwrite ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn