我怎么能保存结构文件....Ç郎 [英] how can I save struct in file .... C lang

查看:136
本文介绍了我怎么能保存结构文件....Ç郎的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要保存一个结构在文件中。
我想实现的功能,这使得这项工作。
我想这code,但没有奏效。

 结构utilisateur // enregestrement倒sauvegarder莱详情德升utilisateur
{
 焦炭NOM [20];
 焦炭preNOM [20];
 诠释到位;
 焦炭离开[20];
 到达炭[20];
 焦炭sexe;
 INT nwagon;
};结构utilisateur刺;
结构utilisateur *表[48];无效crea_fich(结构utilisateur * Tutilis)
//创建联合国fichier,VOUS introduiez乐NOM,等乐sotcker相提并论enreg
{
    FILE * F;
    如果(F!== 0)
    {
         的printf(文件\\ n的名称错误);
         出口(1);
    }
    如果(F =的fopen(futilis,W)== NULL){
         fprint(我们不能科瑞档案\\ n);
         出口(1);
    }
    其他{
        F = FOPEN(futilis.dat,世行);
        FWRITE(Tutilis,sizeof的(utilisateur),1,F);
    }
}


解决方案

试试这个,然后如果没有做你想要什么,试着解释它从你想要什么有什么区别。

 无效crea_fich(结构utilisateur * Tutilis)
{
   FILE * F;
   为size_t nwritten;   F = FOPEN(futilis.dat,世行);   如果(F == NULL)
   {
      fprintf中(标准错误,无法打开文件进行写入\\ n);
      出口(1);
   }   nwritten = FWRITE(Tutilis,sizeof的Tutilis [0],1,F);
   FCLOSE(F);   如果(nwritten&。1)
   {
      fprintf中(标准错误,写文件失败\\ n);
      出口(1);
   }
}

I'd like to save a struct in a file. I'd like to realize a function which makes this work. I tried this code but it didn't work.

struct utilisateur   // enregestrement pour sauvegarder les details de l utilisateur
{
 char nom[20];
 char prenom[20];
 int place;
 char depart[20];
 char arrive[20];
 char sexe;
 int nwagon;
};

struct utilisateur utilis;
struct utilisateur *Table[48];

void crea_fich(struct utilisateur *Tutilis)
// creation un fichier, vous introduiez le nom, et le sotcker par enreg
{
    FILE *f;
    if (f!==0)
    {
         printf("error in the name of file \n");
         exit(1);
    }
    if (f=fopen(futilis,"w")==Null){
         fprint("We can't creat file \n");
         exit(1);
    }
    else{
        f=fopen("futilis.dat","wb");
        fwrite(Tutilis ,sizeof(utilisateur),1,f);
    }
}

解决方案

Try this, and then if that's not doing what you want, try explaining how it differs from what you want.

void crea_fich(struct utilisateur *Tutilis)
{
   FILE *f;
   size_t nwritten;

   f = fopen("futilis.dat","wb");

   if (f == NULL)
   {
      fprintf(stderr, "Cannot open file for writing.\n");
      exit(1);
   }

   nwritten = fwrite(Tutilis, sizeof Tutilis[0], 1, f);
   fclose(f);

   if (nwritten < 1)
   {
      fprintf(stderr, "Writing to file failed.\n");
      exit(1);
   }
}

这篇关于我怎么能保存结构文件....Ç郎的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆