C++;-Can';无法在Windows中从网络路径打开文件 我在使用本地C++打开Windows框上的网络驱动器上的文件时遇到问题。如果文件是本地的,我的代码可以正常工作,但是如果文件位于网络共享上,代码将失败。我可以从Windows资源管理器中很好地读取文件 ifstream ifs(cFilename); if(ifs.is_open()) { // Read file here. (This never works for a network path) }

C++;-Can';无法在Windows中从网络路径打开文件 我在使用本地C++打开Windows框上的网络驱动器上的文件时遇到问题。如果文件是本地的,我的代码可以正常工作,但是如果文件位于网络共享上,代码将失败。我可以从Windows资源管理器中很好地读取文件 ifstream ifs(cFilename); if(ifs.is_open()) { // Read file here. (This never works for a network path) },c++,windows,C++,Windows,我也试过: struct stat sb; if (stat(cFilename, &sb) == 0) { // Read file here. (This never works for a network path) } 我的路径格式正确(例如“\\server\filename.ext”),但我仍然无法打开它。有什么想法吗?如果名称的格式为\\server\filename,则可能不正确。我认为它通常也需要一个共享名称: \\server\share\filename 此

我也试过:

struct stat sb;
if (stat(cFilename, &sb) == 0)
{
  // Read file here. (This never works for a network path)
}

我的路径格式正确(例如“\\server\filename.ext”),但我仍然无法打开它。有什么想法吗?

如果名称的格式为
\\server\filename
,则可能不正确。我认为它通常也需要一个共享名称:

\\server\share\filename

此外,请确保在代码中避开反斜杠(例如,
\\\\server\\share\\filename
)。

首先,您是否检查了是否有权读取该文件?我可以通过Windows资源管理器读取和写入该文件。我的应用程序需要任何特定的权限吗?不,它不需要,除非这个应用程序是一个服务,这让我重新思考,这是一个控制台还是桌面应用程序?\\\\server\\share\\filename谢谢!我用那种方式打了出来,却忘了引用它。。。然后连结果都没看。糟透了。是的,我加了额外的斜线。我有通过Windows资源管理器读取和写入文件的权限。我的应用程序是否需要任何特定的权限?您是否包含共享名?是的,共享名在那里,并且我已授予“所有人”读/写权限