使用刚从另一个文件读取的结构名称创建文件

时间:2019-01-23 08:25:09

标签: c file binary structure

我正在尝试从文件f中读取一个结构,我需要将该结构的一些数组(“ nume”和“ firma.nrang”)写入名称为“ localitate”的另一个文件中,该文件也是我正在读取的结构数组。 如果f中的两个结构具有相同的“ localitate”数组,则需要将它们的“ nume”和“ firma.nrang”字段写入称为“ localitate”的同一文件中。我希望我解释得足够好。但是,我不知道为什么无法打开正在创建的文件,我特别想将其作为文本而不是二进制文件。问题是什么? 这是我的代码,无法正常工作:

typedef struct
{
    char localitate[10];
    int nrang;
} FIRMA;

typedef struct
{
    char nume[20];
    int varsta;
    FIRMA firma;
} ANG;




    ANG x;
    FILE *p;
    for (i=0; i<m+n; i++)
    {
        fread(&x,sizeof(x),1,f);
        p=fopen(x.firma.localitate,"a");
        if (p==NULL)
        {
            printf("eroare");
            exit (1);
        }
        fwrite(&x.nume,sizeof(x.nume),1,p);
        fwrite(&x.firma.nrang,sizeof(x.firma.nrang),1,p);
        fclose(p);


    }

0 个答案:

没有答案