У меня работает следующий фрагмент:
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);
}
Также обратите внимание на этот отрывок из открытых документов (MSDN) :
...
fopen будет принимать пути, допустимые в файловой системе на момент выполнения; Пути UNC и пути, связанные с подключенными сетевыми дисками, принимаются fopen, пока система, выполняющая код, имеет доступ к общему или подключенному сетевому диску во время выполнения .При создании путей для fopen следует соблюдать особую осторожность, чтобы не делать предположений о доступных дисках, путях или общих сетевых ресурсах в среде выполнения.
...
Вы такжеНеобходимо учитывать, что учетная запись, под которой вы запускаете свою программу, должна иметь соответствующие права доступа к файлу.Когда вы подключаете общий ресурс как сетевой диск, возможно, вы используете разные учетные данные для подключения.Это может привести к сбою fopen
.