Главная » C++ » Как разрешить другим приложениям открывать файл, который мне нужно держать открытым?
Как разрешить другим приложениям открывать файл, который мне нужно держать открытым?
У меня есть приложение Windows C ++, которое открывает файл (и держит его открытым) следующим образом:
FILE* fp = NULL;
errno_t result = _wfopen_s(&fp, L"MyRawData.dat", L"wb");
Это работает нормально, но когда я пытаюсь передать этот файл через filezilla, он запрещает доступ к файлу, когда я пытаюсь загрузить его (несмотря на отметку «Разрешить загрузку файлов, которые открыты для записи другим процессом»).
Я что-то не так сделал в своем программном обеспечении или ограничил проблему с Filezilla / General Windows?
Файлы открыты fopen_s а также _wfopen_s не делятся Если вам требуется, чтобы файл был общим, используйте _fsopen, _wfsopen с соответствующей константой режима совместного использования (например, _SH_DENYNO для чтения / записи обмена).