C语言 _stat在网络目录上失败



我的程序通过局域网将文件从我的Windows笔记本电脑复制到我的Windows桌面。我使用资源管理器中的拖放来提供源和目标。

来源是:C:Paul

目的地是 :\SERVERPaul

但是,_stat(dst,&dst_statbuf)失败,-1errno设置为 ENOENT(找不到文件(。

请注意,从资源管理器拖放中提供的路径是正确的并且存在,在资源管理器中我可以看到目标目录并可以打开文件,因此权限似乎没问题。

有谁知道为什么_stat失败了?

发现问题。

stat64.c(VC2008(中有一个奇怪的评论:

/* root dir. ('C:') or UNC root dir. ('\servershare') */

后跟对未记录的 API 函数的调用(第 145 行(:

IsRootUNCName(path)

实际上,将反斜杠附加到服务器路径会使_stat工作。但请注意,在服务器路径上的常规目录上调用_stat也有效。因此,它只会在共享的根目录上失败。

我认为这是一个错误(或者至少是Windows资源管理器和_stat之间的不一致

(

相关内容

  • 没有找到相关文章

最新更新