疑难杂症之 fwrite
2016-10-02 本文已影响0人
黄俊浩
今天写一测试函数:
intIoDumpFileTest(
char*pszFileName,
void*buf,
intnDataLen)
{
FILE*stream;
intnWritten;
intnLen;
void*nTempBuffer;
if((stream= fopen(pszFileName,"wb"))==NULL)
return -3;
nWritten=(int)fwrite(buf,1,nDataLen,stream);
fclose(stream);
if(nWritten!=nDataLen)
{
return(-1);
}
else
return(0);
}
看上去一切都好,但问题还是发生了:
IoDumpFileTest("D:\\LT001T1011170004_1000_TTPP_RAW.TDF", data.data, data.dataSize);//成功
IoDumpFileTest("T:\\LT001T1011170004_1000_TTPP_RAW.TDF", data.data, data.dataSize);//失败
注释:
1. T 盘为映射的网络硬盘
2. 文件大小为 147,397,620 bytes
3. 失败现象,文件成功导出,大小为 147,394,560 bytes, 内容为空(0x00 0x00.....)
问题已找到,暂时买个关子,有兴趣的可以探讨一下;