【发布时间】:2011-09-02 01:47:03
【问题描述】:
我是 linux 中的 C 新手。我正在尝试将数据存储到文件中并将它们读回。这是正确的方法吗。当我尝试编译这个时,我得到了错误。谁能帮助我。提前致谢。
#include<stdio.h>
typedef struct
{
int select;
char lastname[25];
char firstname[25];
char address[25];
char phonenumber[25];
} addressbook;
addressbook a[5];
FILE *fp;
int main()
{
int i;
for( i=0; i<5 ; i++)
{
printf("enter details\n");
printf("enter lastname:\n");
scanf("%s", a[i].lastname);
printf("enter firstname:\n");
scanf("%s", a[i].firstname);
printf("enter address:\n");
scanf("%s", a[i].address);
printf("enter phone number:\n");
scanf("%s", a[i].phonenumber);
fp = fopen("addressbook.dat","a+");
fwrite(&a, sizeof(a), 1, fp);
fclose(fp);
}
for(i=0; i<5; i++)
{
fopen("addressbook.dat", "r");
fread(&a, sizeof(a), 1, fp );
printf("lastname:%s\n", a[i].lastname);
printf("firstname:%s\n", a[i].firstname);
printf("address:%s\n", a[i].address);
printf("phonenumber:%s\n", a[i].phonenumber);
fclose(fp);
}
return 0;
}
我没有得到任何输出。它是空白的。
【问题讨论】:
-
如果您发布了错误......也许有人可以提供帮助。
-
当然...发布您尝试编译的实际代码。如果上面是它......好吧,是的,那不是完整的代码。
-
根据编译器消息,这可能是完整的代码...似乎没有包含标题,不是吗?
-
我已经编辑了代码,现在我没有收到错误。但是输出是空白的。这是从文件写入和读取的正确方法吗?请帮我。谢谢。