一个有趣的问题!
int index[5] = {0, 1, 2, 3, 4};
FILE* stream;
//write 5 record in file, each record is a string and int.
stream = fopen("c:\\nickfile.txt", "w+b");
for (int i=0; i<5; i++)
{
fwrite((void*)(&index[i]), sizeof(int), 1, stream);
}
FILE* file;
fclose(stream);
int number;
CString aaa;
file = fopen("c:\\nickfile.txt", "r+b");
while(!feof(file)) //this is not functioning well!!
{
fread((void*)(&number), sizeof(int), 1, file);
aaa+="1 ";
}
MessageBox(aaa,"",MB_OK);
fclose(file);
上述代码输出aaa应该为5个1,为什么编译后回出现6个1呢。不解望赐教!!