【问题标题】:How do I allow other applications to open a file I need to hold open?如何允许其他应用程序打开我需要保持打开的文件?
【发布时间】:2013-03-09 09:56:27
【问题描述】:

我有一个 C++ windows 应用程序,它打开一个文件(并保持打开状态),如下所示:

FILE* fp = NULL;
errno_t result = _wfopen_s(&fp, L"MyRawData.dat", L"wb");

这很好用,但是当我尝试通过 filezilla 提供该文件时,当我尝试下载该文件时,它拒绝访问该文件(尽管勾选了“允许下载由另一个进程打开以供写入的文件”选项)。

这是我在我的软件中做错了什么还是 Filezilla / 一般 Windows 问题的限制?

【问题讨论】:

  • 这可能是题外话,但L 在字符串文字前面是什么意思?
  • L 前缀使字符串成为 wchar_t 字符串。

标签: c++ windows file-permissions file-access


【解决方案1】:

来自上述函数的documentation

fopen_s_wfopen_s 打开的文件不可共享。如果您要求文件可共享,请使用 _fsopen_wfsopen 和适当的共享模式常量(例如,_SH_DENYNO 用于读/写共享)。

【讨论】:

  • 是的,请参阅here 了解所有选项
猜你喜欢
  • 1970-01-01
  • 2023-01-28
  • 2020-03-10
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
相关资源
最近更新 更多