有关fwrite()和fread()函数使用讨论,参与者皆可得分
下面是一段小程序,主要是把一个unsigned int型数据用fwrite()保存到一个文件中,然后用fread()读出来,但是发现读出来的和我写进去的数不相同,请问是什么原因?是在VC6.0下写的程序.
#include "stdafx.h"
#include <iostream.h>
//***********//
void main( void )
{
FILE *stream;
unsigned int fields_count=0x677524;
unsigned short temp;
if( (stream = fopen( "test", "w+b" )) != NULL )
{
fwrite(&fields_count,sizeof(unsigned int),1,stream);
printf("write=%x\n",fields_count);
fread(&fields_count,sizeof(unsigned int),1,stream);
printf("read=%x\n",fields_count);
}
fclose(stream);
}
程序执行后,显示为:
write=677524
read=cdcdcdcd
请问是什么原因,希望各位指点一下,