2018年科技趋势:VC读文件的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 05:53:07
我用ReadFile(pFile,sysInfo,GetFileSize(hFile,&total_size),&size,NULL);
想读取文件的全部内容到sysInfo里
为什么不能全部读出来?
当文件内容很少时候却能读出来
文件只有不到3K
有没有其它的办法将整个文件的内容读出
缓存是足够大的,sysInfo=(char *)MemAlloc(99999);
即使我改成ReadFile(pFile,sysInfo,GetFileSize(hFile,&total_size)*2,&size,NULL);这样
它也还差一点没有读出来,GetFileSize只返回了一千多一点
而我的文件有将近3k
GetFileSize返回的是一个DWORD类型的低字节,total_size传出的是DWORD类型的高字节。。
只是一个不到3K的文件,total_size值肯定是0的。。。
我也能读出1067个字节。。。出了就读不出。。不知道是WHY啊。。。
估计是我的文本文件有问题,我试了一下别的文本文件,都能读出来。。。
我列一下文本文件内容
<th align=center valign=middle>Fingerprint</th></TR><tr><td align=center valign=middle><br>IP地址 : 192.168.18.22<br>主机名称 :<br>系统类型 : Windows 2000
<br></td></tr><tr><th align=center valign=middle>Netbios</th></TR><tr><td align=center valign=middle><br>共享目录名 : IPC$<br>类型 :未知<br><br>共享目录名 : D$<br>类型 :Special share reserved for interprocess communication (IPC$) or remote administration of the server<br><br>共享目录名 : G$<br>类型 :Special share reserved for interprocess

你设置的缓存区够大吗?

我现在没办法上机氏,不过我想可能是
ReadFile(pFile,sysInfo,GetFileSize(hFile,&total_size),&size,NULL);
你这里直接使用 GetFileSize(hFile,&total_size) 作为读取的大小,可能不对,你把它分成两部砍下
GetFileSize(hFile,&total_size) 获取文件大小
ReadFile(pFile,sysInfo,total_size,&size,NULL);