我正在尝试从文件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);
}