C++ 来自windows网络位置的fopen文件

C++ 来自windows网络位置的fopen文件,c++,c,windows,fopen,C++,C,Windows,Fopen,我可以从已安装的网络驱动器打开文件,但不能从未安装的网络驱动器打开文件,例如\\mycomp\folder2\hi.bmp 有什么解决办法吗?以下代码片段适合我: char buffer[1000]; FILE* file; size_t bytesRead; file = fopen("\\\\server\\share\\test.dat", "rb"); if (file != NULL) { bytesRead = fread(buffer, sizeof(char

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


有什么解决办法吗?

以下代码片段适合我:

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将接受以下路径: 在该点的文件系统上有效 执行权UNC路径和路径 涉及映射的网络驱动器是 只要 执行代码的系统具有访问权限 到共享或映射的网络驱动器 在执行时。特别护理 在构造路径时必须使用 让fopen避免做出假设 关于可用驱动器、路径或 执行中的网络共享 环境。

您还需要考虑,您正在运行程序的帐户需要对文件具有适当的访问权限。将共享装载为网络驱动器时,可能正在使用不同的凭据进行连接。这可能导致

fopen
失败

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


嗯。。。在尝试从驱动器访问文件之前,请先装入驱动器?您是否忘记需要写“\”才能在C中获得反斜杠?@R不,我没有。谢谢你。什么是“r”?在语法上。谢谢你,伙计。我以为这几乎就是我之前尝试过的,但现在它起作用了:)
 fopen("\\\\ServerName\\SharedFolder\\Configfile.txt","r");