来自Windows网络位置的fopen文件

时间:2010-07-22 11:19:47

标签: c++ c windows fopen

我可以从已安装的网络驱动器中打开文件,但不能从未安装的文件中打开文件,例如\\ mycomp \ folder2 \ hi.bmp

为此做任何解决方法?

2 个答案:

答案 0 :(得分:2)

以下代码段适用于我:

char buffer[1000];    
FILE* file;
size_t bytesRead;

file = fopen("\\\\server\\share\\test.dat", "rb");  
if (file != NULL)
{
    bytesRead = fread(buffer, sizeof(char), sizeof(buffer), file);
    fclose(file);
}

另请注意fopen docs (MSDN)

的摘录
  

...

     

fopen会接受那些路径   此时在文件系统上有效   执行; UNC路径和路径   涉及映射的网络驱动器   被fopen接受只要   执行代码的系统具有访问权限   到共享或映射的网络驱动器   在执行时 。特殊照护   在构建路径时必须采取   让fopen避免做出假设   关于可用的驱动器,路径或   网络共享执行   环境。
  的 ...

您还需要考虑,您运行程序的帐户需要具有相应的文件访问权限。将共享作为网络驱动器挂载时,可能使用不同的凭据进行连接。这可能会导致fopen失败。

答案 1 :(得分:0)

fopen("\\\\192.168.1.4\\SharedFolder\\Configfile.txt","r"); 

 fopen("\\\\ServerName\\SharedFolder\\Configfile.txt","r");