今天学了几个复制,移动..处理文件的函数,然后主要的目的是学会错误处理,了解winApi的错误返回值,还有就是vs的"错误查找"功能.
课程上面 https://www.bilibili.com/video/av79302998?p=59 中用了vs这样的错误检查的方式,有点意思..
在课程的 https://www.bilibili.com/video/av79302998?p=60 有说明一下,但是两个视频的处理一个是代码上的,一个是vs上的.
工具-错误查找,输入错误值.
注意这个工具若没有的话,要在控制面板上面选择vs,然后安装c++的相关内容,不然只安装net是没有的....
还有就是工具--导入和导出设置--重置所有设置--Visual C++,选择C++工程的环境!!
首先要知道winapi的错误是存 GetLastError() 的,然后视频上面调用了 @err 在监视里,搜了一下相关的信息,可以配合 $err,hr 来进行监控.
具体说明: https://blog.csdn.net/qq_16334327/article/details/81838300
这样就成功可以像视频教程一样监控错误的信息了....
乱七八糟的学习代码:
#if false //删除文件 bRet = DeleteFile(path); if (bRet) { MessageBox(NULL, _T("删除成功! "), _T("Tip"), MB_OK); } else { DWORD dwError = GetLastError(); //放在错误语句的后面.. MessageBox(NULL, _T("删除失败! "), _T("Iip"), MB_OK); } #endif // false #if false //拷贝文件 // 因为C盘权限问题所以拷贝是失败的,以此引发一个错误 // bRet = CopyFile(path, _T("C:\\abc.png"), FALSE); bRet = CopyFile(path, _T("D:\\桌面\\abc.png"), FALSE); if (bRet) { MessageBox(NULL, _T("拷贝成功!"), _T("Tip"), MB_OK); } else { DWORD dwError = GetLastError(); //放在错误语句的后面.. MessageBox(NULL, _T("拷贝失败!"), _T("Tip"), MB_OK); } #endif // false #if false //移动文件 //bRet = MoveFile(path, _T("D:\\桌面\\abc.png")); bRet = MoveFile(_T("D:\\桌面\\abc.png"), _T("D:\\桌面\\abc.png")); if (bRet) { MessageBox(NULL, _T("移动成功!"), _T("Tip"), MB_OK); } else { DWORD dwError = GetLastError(); //放在错误语句的后面..错误处理例子!! if (dwError == ERROR_FILE_NOT_FOUND) { MessageBox(NULL, _T("文件不存在!"), _T("Tip"), MB_OK); } else { MessageBox(NULL, _T("移动失败!"), _T("Tip"), MB_OK); } } #endif // false
来源:https://www.cnblogs.com/JJBox/p/12535975.html