读书人

fread 的奇怪有关问题

发布时间: 2012-04-22 18:34:46 作者: rapoo

fread 的奇怪问题
struct stu
{
int num;
};

int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp;
fp = fopen( "list ", "wt+ ");//可读写,文本文件

for(int i = 0; i < 30; i++)
{
stu a;
a.num = i;

size_t t = fwrite(&a,sizeof(struct stu),1,fp);
}

fclose(fp);

fp = fopen( "list ", "r ");//读

for(int i = 0; i < 30; i++)
{
stu a;
fread(&a,sizeof(int),1,fp);

printf( "%d\n ", a.num);
}

fclose(fp);

return 0;
}

过程非常简单
1、定义一个结构,其中只有一个整型成员
2、写30个
3、读30个。

本来预期读出1至30,但实际读到25就不对了,剩下都是25了。

大家有没有遇到类似的问题?

[解决办法]
读的时候也须用fread(&a,sizeof(struct stu),1,fp);

读书人网 >C语言

热点推荐