0

我正在用 C 编写程序并尝试将结构数组保存到文件中。我的意图是初始化一个结构数组并将其保存到文件中。此外,我想修改 struct-entry 1、struct-entry 2、struct-entry 3 等的条目。但是这些条目没有写入文件。甚至似乎不存在任何结构数组。

我会很感激任何帮助,因为我不知道为什么数组没有写入文件。

谢谢你

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct liste {
    unsigned int code;
    unsigned int activ;
    };
int main()
{
int z;

printf("Enter Index: "); /* Data should fill the z-th entry in array of structures */
scanf("%d",&z);

FILE *mrp;
struct liste bauteil[5]; /* Array with 5 structs for 5 different entries */

mrp = fopen("aaa.txt","w+b");

printf("Number of entry is: %d\n",z);
printf("Enter code: ");
scanf("%d",&bauteil[z].code);
bauteil[z].activ=77777; /* activ entry contains 77777 */

fseek(mrp, z * sizeof(struct liste), SEEK_SET);
fwrite(&bauteil[],sizeof(bauteil),1,mrp);

fclose(mrp);
return 0;
}
4

2 回答 2

0

mrp = fopen("aaa.txt","r+b");
fwrite(&bauteil[z],sizeof(struct liste),1,mrp);
于 2013-04-11T22:33:57.307 回答
0

查看 fwrite 参数。要编写整个数组,您需要编写 5 个结构,这些结构由bauteil. 尝试fwrite(bauteil,sizeof(struct liste),5,mrp); 当前写入太短,因为 sizeof(bauteil) 不会返回整个数组的大小。

于 2013-04-11T20:03:24.557 回答