ysm 发表于 2015-1-9 12:17:13

关于Setfilepointer 和writefile 句柄无效

本帖最后由 ysm 于 2015-1-9 12:20 编辑

         DWORD hLp=SetFilePointer(hFile, 0, NULL, FILE_END);
      if(hLp==-1)
      {
            TCHAR szBuf;
            LPVOID lpMsgBuf;
             DWORD mn=GetLastError();
            FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,NULL,mn,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0, NULL);
            wsprintf(szBuf,"%s 出错信息 (出错码=%d): %s","SetFilePointer", mn, lpMsgBuf);
            LocalFree(lpMsgBuf);
            OutputDebugString(szBuf);
            MessageBox(NULL,szBuf,NULL,MB_OK);
      }

      BOOL bFile=WriteFile(hFile, szBuf, strlen(szBuf), &dwWritten, NULL);
      if(bFile==FALSE)
      {

            TCHAR szBuf1;
            LPVOID lpMsgBuf1;
            DWORD mn1=GetLastError();
            FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,NULL,mn1,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf1,0, NULL );
            wsprintf(szBuf1,"%s 出错信息 (出错码=%d): %s","WriteFile", mn1, lpMsgBuf1);
            LocalFree(lpMsgBuf1);
            OutputDebugString(szBuf1);
            MessageBox(NULL,szBuf1,NULL,MB_OK);
      }


紧接着后面的writefile也是报同样的错误,,,

freeparty 发表于 2015-1-9 12:17:14

记得支持我哦。

向往青莲 发表于 2015-1-11 16:15:51

调用SetFilePoint和WriteFile之前...需要打开文件
hFile是文件句柄..你确定你打开了?

wingtree 发表于 2015-1-21 14:48:25

完全不懂耶。。。

仰望天上的光 发表于 2015-1-21 16:33:16

wingtree 发表于 2015-1-21 14:48
完全不懂耶。。。

就是说,你给的代码不全。。。

wingtree 发表于 2015-1-21 20:02:28

那能找出少了哪些代码吗?

freeparty 发表于 2015-2-11 07:15:11

使用OpenFile或CreateFile来打开文件,

freeparty 发表于 2015-2-11 07:18:26

http://freeparty.qiniudn.com/code读写硬盘.zip刚好这个就用到了这几个API,实在看不懂我贴出了用法地址
CreateFile http://baike.baidu.com/link?url=3xp4GU7JxR0pIH5s1FobOv0_Cn7V8IAV-G01Mds6aF9ZA7K1mirm9RTruTNEVpizK2CtMD2LznaXef1MQMogkq
OpenFile http://baike.baidu.com/view/1292150.htm
文件句柄 http://baike.baidu.com/view/1706628.htm
页: [1]
查看完整版本: 关于Setfilepointer 和writefile 句柄无效