fwrite函数写入2个hash值到文件中的大小不对 求解决解决方案

fwrite函数写入2个hash值到文件中的大小不对 求解决
用fwrite函数向文件中写入两个hash值,本来大小应该为40字节的,但是偏偏就是41个字节。用vc 2008写的小程序。各位大侠帮帮忙啊 急 急 急 啊
  (fwrite(buf, 1, len, fp)) != len

------解决方案--------------------
fopen wb模式
------解决方案--------------------
你里面是不是有换行啊,windows下一个回车是\r\n两个字符。
------解决方案--------------------
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了