You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows网络中用Qt QDir访问远程共享目录返回空列表求助

解决QDir访问Windows共享目录返回空列表的问题

QDir完全可以实现访问Windows共享目录的功能,你的问题出在路径转义错误上。

Windows的UNC共享路径格式是\\server\share,但在C++字符串中,反斜杠\是转义字符,所以每个实际的\都需要用另一个\来转义。你写的"\\service\\Documents"会被解析成\service\Documents——这是个无效的UNC路径,因为正确的UNC路径必须以两个反斜杠开头。

修正后的代码

把路径改成四个反斜杠开头的格式:

QFileInfoList fiList = QDir("\\\\service\\Documents").entryInfoList(QDir::Files);
qDebug() << "sizeof filist: " << fiList.size();
for (const QFileInfo& fi : fiList)
{
   qDebug() << fi.absoluteFilePath();
}

额外排查点

如果修正路径后还是不行,检查以下内容:

  • 确认程序运行的账号有访问该共享目录的权限:资源管理器用当前登录用户访问,但如果程序是作为服务运行、或用其他账号启动,可能存在权限差异。
  • 先用QDir("\\\\service\\Documents").exists()判断路径是否存在,返回true再继续后续操作,方便快速定位问题。

内容的提问来源于stack exchange,提问作者k_k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 03:18:22