#include
#include
#include
using namespace std;
struct node
{
int x,y;
};
int main(){
FILE* f1 = fopen("in.dat","w");
node a;
for(int i = 0;i < 10000;i++){
a.x = rand();
a.y = rand();
fwrite(&a,sizeof(a),1,f1);
}
fclose(f1);
f1 = fopen("in.dat","r");
int i = 1;
while(!feof(f1)){
fread(&a,sizeof(a),1,f1);
printf("%d\t",i++);
}
cout << endl;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是rand取随机数的问题,你把a.x和a.y赋值为1和2之类的数就好了。
其实你看看即使你不改in.dat文件是80000字节大小,说明输出了10000次。但是只读了25次,应该是输入到文件里的内容有什么问题,让程序出错了。