fwrite()函数的一个奇怪有关问题.
fwrite()函数的一个奇怪问题..本帖最后由 weiwuyuan 于 2012-12-26 22:33:20 编辑BYTE t 0FILE* pFile
fwrite()函数的一个奇怪问题..
本帖最后由 weiwuyuan 于 2012-12-26 22:33:20 编辑
BYTE t = 0;
FILE* pFile = fopen("out.dat", "wb");
fwrite(&t, 1, 10, pFile);
fclose(pFile);
这代码是写10个0到out.dat文件中,可是为什么写出的数据不全是0呢?
结果写入的数据是这样子的:
[0]0
[1]204
[2]204
[3]204
[4]204
[5]181
[6]145
[7]192
[8]116
[9]184
怎么会是这样?
[解决办法]修正一下:
BYTE t = 0;
FILE* pFile = fopen("out.dat", "wb");
for(int i=0;i<10;++i){
fwrite(&t, 1, sizeof(t), pFile);
}
fclose(pFile);
[解决办法]是这样的
一般其内部实现是循环调用memcpy