为何用::DeleteFile()删除一个文件会失败?错误代码为5

mfcdeclare 2003-12-12 03:41:50
1、为何用::DeleteFile()删除一个文件会失败?错误代码为5
2、何故,而且,我想知道,如果知道一个错误代码为数字n,如何知道它的错误类型?查msdn是一种方法,但不太好,因为msdn中有很多大类(其中又有小类)的错误。有没有什么办法?
...全文
4472 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bandry 2003-12-15
  • 打赏
  • 举报
回复
不用自己动手,可以添加进去的
选择tools->customize,选择tools属性页,双击最后的空白或选择新建按钮,
在command的里面输入C:\Program Files\Microsoft Visual Studio\Common\Tools\errlook.exe,arguments空,initial那个填$ (TargetDir)
你的errlook就出来了
huohu526 2003-12-15
  • 打赏
  • 举报
回复
mfcdeclare(半斤八两):
如果找不到的话, 也可以自己亲自动力手编一个。
pengcar 2003-12-14
  • 打赏
  • 举报
回复
开始->程序->Microsoft Visual Studio 6.0->Microsoft Visual Studio 6.0 Tools->Error Lookup :)
pengcar 2003-12-14
  • 打赏
  • 举报
回复
vc的小工具Error Lookup可以解决你的第二个问题。
mfcdeclare 2003-12-14
  • 打赏
  • 举报
回复
vc的error lookup怎么弄出来呢?在哪个菜单下?我的tools下为什么没有?是不是我的vc装的不全,还是没找对地方呢
my9471 2003-12-13
  • 打赏
  • 举报
回复
你要删除的文件有多大?
michaelwan 2003-12-13
  • 打赏
  • 举报
回复
不可能的,就是几百M的文件也应该可以删掉的.我就做过, 可能是你的程序中的某些handle没有关掉.
slyfox 2003-12-13
  • 打赏
  • 举报
回复
there is a very good Tool --Error lookup .

which is at Tool Menu

For you Get the Error desc
yifengling0 2003-12-13
  • 打赏
  • 举报
回复
几k 的文件没有问题,,40来兆的就不成功了..

我用xp pro
huohu526 2003-12-13
  • 打赏
  • 举报
回复
楼主用的是什么系统。
yifengling0 2003-12-12
  • 打赏
  • 举报
回复
我也试了,是文件大了一点就不能删除了~

怎么回事呢?


上面众多的星星解释一下!~

lygfqy 2003-12-12
  • 打赏
  • 举报
回复
不妨查看winerror.h
其中又错误代码的定义
mfcdeclare 2003-12-12
  • 打赏
  • 举报
回复
不对呀,我发现如果删除的文件很大,就不能成功,而小文件就没问题呀。
arvid_gs 2003-12-12
  • 打赏
  • 举报
回复
5 的确是不能访问的错误代码,
arvid_gs 2003-12-12
  • 打赏
  • 举报
回复
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Process any inserts in lpMsgBuf.
// ...
// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );
arvid_gs 2003-12-12
  • 打赏
  • 举报
回复
Code Description Name
0 The operation completed successfully. ERROR_SUCCESS
1 Incorrect function. ERROR_INVALID_FUNCTION
2 The system cannot find the file specified. ERROR_FILE_NOT_FOUND
3 The system cannot find the path specified. ERROR_PATH_NOT_FOUND
4 The system cannot open the file. ERROR_TOO_MANY_OPEN_FILES
5 Access is denied. ERROR_ACCESS_DENIED
6 The handle is invalid. ERROR_INVALID_HANDLE
7 The storage control blocks were destroyed. ERROR_ARENA_TRASHED
8 Not enough storage is available to process this command. ERROR_NOT_ENOUGH_ME
Goldcastle 2003-12-12
  • 打赏
  • 举报
回复
有很多是杀毒软件捣的鬼!
mfcdeclare 2003-12-12
  • 打赏
  • 举报
回复
不对呀,我发现如果删除的文件很大,就不能成功,而小文件就没问题呀。
aaasng 2003-12-12
  • 打赏
  • 举报
回复
这是MSDN里的代码可以返回错误消息

LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0,
NULL
);
::MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
huohu526 2003-12-12
  • 打赏
  • 举报
回复
5 :"拒绝访问"
我想可能,这个文件正在被其它程序或用户使用.

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧