#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,它们之间有空格 内容:&#34; prateek 20&#34;
但是当我用fread读取此文件然后当我使用%s和%d打印结构的内容时,我发现所有内容仅存储在结构中的名称数组中,并且没有任何内容存储在信用卡中?发生了什么?我怎么能以结构的形式阅读结构?并将它分别保存在变量中?为什么20不存储在信用中?
答案 0 :(得分:0)
我总是这样做
memset(cr, 0, 20);
fread(pt,19,1,fp);
所以你总是在结尾处有一个终止空值