gpt4 book ai didi

c - fread 正在读取文件中的所有数据,但不将其保存在结构的定义中

转载 作者:行者123 更新时间:2023-11-30 19:44:24 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<conio.h>
typedef struct cr{
char name[20];
int credit;
}cr;



void main(){

int i ;
FILE *fp;
cr *ptr;
cr data[20];
clrscr();

ptr=data;


fp=fopen("c:\\new\\damn.txt","rb");
fread(ptr,sizeof(cr),1,fp);
printf("%s\n",ptr->name);






getch();
}

文件damn.txt有一个字符串和一个int,它们之间有空格内容:“prateek 20”

但是当我用 fread 读取这个文件,然后当我使用 %s 和 %d 打印结构的内容时,我发现所有内容仅存储在名称数组中的结构中,并且信用中没有存储任何内容?发生了什么事?我如何读取结构格式的结构?并分别保存在变量中?为什么20没有存入credit中?

最佳答案

我总是这样

memset(cr, 0, 20);
fread(pt,19,1,fp);

所以最后总是有一个终止 null

关于c - fread 正在读取文件中的所有数据,但不将其保存在结构的定义中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28330128/

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