gpt4 book ai didi

c - fread 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:08 25 4
gpt4 key购买 nike

我尝试读取我的 FILE* fp 指向的文件,我想知道文件的末尾在哪里。因此,我使用 fseek(); 在文件末尾,我想从我的 structure data 中写入数据。

void printData(FILE *fp)
{
struct data tmp;
fseek(fp,0,SEEK_END);
while(fread(&tmp,sizeof(struct data),1,fp) > 0)
{
puts("test2");
printf("Vorname: %s\n",tmp.vorname);
printf("Nachname: %s\n",tmp.name);
printf("Adresse: %s\n",tmp.adresse);

}
}

我的结构是这样定义的:

struct data
{
char name[30];
char vorname[20];
char adresse[50];
};

我的问题是,while 循环一次都没有执行。我是不是忘记了什么?

最佳答案

fseek(fp,0,SEEK_END) 将文件指针定位在文件的末尾(起始点文件末尾的偏移量为 0),当您随后尝试从文件中读取 fread 时当然不读任何东西。

而是以追加模式打开文件并写入记录数,这些将被追加到文件中。

关于c - fread 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17360439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com