【发布时间】:2018-06-15 07:56:48
【问题描述】:
我的程序通过 LAN 将文件从我的 Windows 笔记本电脑复制到我的 Windows 桌面。我使用资源管理器中的拖放来提供源和目标。
来源为:C:\Paul
目的地是:\\SERVER\Paul
但是,_stat(dst,&dst_statbuf) 失败,-1 和 errno 设置为 ENOENT(找不到文件)。
请注意,从资源管理器拖放提供的路径是正确且存在的,在资源管理器中我可以看到目标目录并可以打开文件,因此权限似乎没问题。
有人知道_stat 失败的原因吗?
【问题讨论】:
-
@PaulOgilvie
_stat不写。尝试进入_stat函数并查看实际调用的win32 函数,这可能会给您一些提示。当您调用_stat时,dst文件是否真的存在? -
@MichaelWalz,它使用
_stat64i32。目标(目录)存在。 -
进一步进入
_stat64i32函数,直到遇到原始的win32 函数。 -
你需要什么
_stat?您可以改用GetFileInformationByHandleEx或ZwQueryInformationFile
标签: c windows winapi visual-studio-2008 lan