c - 我怎样才能将结构保存在文件中.... C lang

标签 c file pointers

我想在文件中保存一个结构。 我想实现一个使它起作用的功能。 我试过这段代码,但没有用。

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

最佳答案

没有。您需要逐个写出您的数据成员,一次一个。您不应该只是盲目地将结构的内存表示复制到文件输出缓冲区(很明显您正在尝试这样做)。由于字节顺序和结构元素的特定于平台的填充,以这种方式写入文件将导致文件不可移植(除非在编写它们的平台上,否则它们将不可读)。

关于c - 我怎样才能将结构保存在文件中.... C lang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203667/

相关文章:

c - 将 char 数组设置为全零值(在 C 中)

r - 使用 R 扫描多个文件中的字符串

C++ 程序在读取 NULL 引用时崩溃

c - 函数调用内的 Malloc 似乎在返回时被释放?

c - 使用 STM32 HAL 定时器并调整 PWM 信号的占空比

c - C 中无符号字符数组的带引号的初始值设定项

c++ - 一次读取完整文件是个好主意吗?

php - 文件不是从浏览器运行而是从终端运行

python - SWIG:返回原始指针与共享 ptrs 的 vector

c -/dev/shm 在 Mac OS X 上的位置