使用 std:fstream 如何拒绝对文件的访问(读和写)

2024-04-09

如何拒绝访问使用 fstream 打开的文件?我想在使用 fstream 读取/写入文件时无法访问该文件?


您无法使用标准 fstream 来做到这一点,您必须使用特定于平台的函数。

在 Windows 上,您可以使用创建文件() http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx or 锁定文件Ex() http://msdn.microsoft.com/en-us/library/aa365203.aspx。在Linux上,有flock() http://linux.die.net/man/2/flock, lockf() http://linux.die.net/man/3/lockf, and fcntl() http://linux.die.net/man/2/fcntl(正如前面的评论者所说)。

如果您使用 MSVC,则可以将第三个参数传递给 fstream 的构造函数。请参阅文档视觉工作室6 http://msdn.microsoft.com/en-us/library/aa243822(VS.60).aspx or 新版本 http://msdn.microsoft.com/en-us/library/8et8s826.aspx。当然,它不适用于其他编译器和平台。

为什么你要把别人锁在门外?可能有更好的解决方案...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 std:fstream 如何拒绝对文件的访问(读和写) 的相关文章

  • Mono 无法保存用户设置

    我在 Mono Ubuntu 上保存用户设置时遇到问题 这是代码示例 private void Form1 Load object sender EventArgs e string savedText Properties Setting
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include

随机推荐

  • SQL Server Reporting Services 对聚合数据运行总计

    每个人 在 SSRS 中 我们有 2 列 如下所示 Sales Running Sales 5 00 5 00 3 00 8 00 1 00 9 00 区别在于 第一列 销售额 是一个分组行 因此要获取每行的销售额总计 我们使用 Sum F
  • Mathematica:为什么 3D 绘图会记住最后的视点/旋转,即使在再次评估后也是如此?

    我觉得这有点烦人 我制作了一个 3D 绘图 最初它以默认方向出现 然后 我使用鼠标以某种方式旋转它 现在我再次运行该命令 期望获得原始形状 即通过鼠标旋转它之前的原始方向 但相反 它只是给了我与屏幕上相同的绘图 即它似乎保留 记住了该输出单
  • 从函数返回结果(javascript、nodejs)

    谁能帮我处理这段代码吗 我需要从 routeToRoom 函数返回一个值 var sys require sys function routeToRoom userId passw var roomId 0 var nStore requi
  • Memcache 统计数据理解

    Memcache telnet 接口有命令称为STATS 它显示了很多数字 我在哪里可以看到它的含义 如何分析它们 多少缓存使用是有效的等等 更新的文档位于https github com memcached memcached blob
  • 在我更改 PHP 设置后,gzopen 函数不存在 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 使用新的 PHP 5 4gzopen
  • Firebase 推送通知不适用于 iOS

    我想使用 Firebase Cloud Messaging 实现推送通知 我已经按照说明设置了我的项目并上传了 APN 证书 我正在使用发送测试消息fcmtoken到我的真实设备 我在AppDelegate中的配置如下 func appli
  • 是否可以在不同的类中编写/包装异常处理组件(try、catch)?

    这是关于将异常处理逻辑包装在某种类中 在写c 的时候 代码中 很多时候我们需要根据客户端抛出的异常来捕获许多类型 变体 这导致我们在 catch 子句中 多次 编写类似类型的代码 在下面的示例中 我编写了 function 它可以以多种可能
  • Access 2010 SQL 查询仅在完整单词的字符串中查找部分匹配

    我希望这是一个简单的 我只是找不到如何获得我想要的结果 也许我在 SQL 中使用了错误的关键字 我正在搜索包含全名字段的员工表 该字段可以是 Sam 或 Evans 先生 或 Sam Evans 先生 我正在尝试查找与另一个包含名称字段的名
  • RecyclerView onClick 无法正常工作?

    我在片段中使用 RecyclerView 来显示带有网格格式文本的图像 Recycler 视图 grid item xml 如下所示
  • 队列管理和新线程

    在 Net 4 0 框架上使用 C 我有一个 Windows 窗体主线程 迄今为止唯一的一个 等待文件系统事件 然后必须对这些事件提供的文件启动一些预定义的处理 我计划执行以下操作 A1 当主进程启动时立即创建一个单独的线程 A2 让主线程
  • python中按特定顺序读取文件

    假设我的文件夹中有三个文件 file9 txt file10 txt 和 file11 txt 我想按这个特定顺序读取它们 谁能帮我这个 现在我正在使用代码 import glob os for infile in glob glob os
  • 无法获取 OLEObject 类的 Object 属性 - Excel Interop

    我用谷歌搜索了这个问题 但未能找到解决方案 如果文件保存为 xls 而不是 xlsm 则此代码有效 我使用的是 Office 2013 32 位 我编写了一个 COM 公开的 C 类库 Excel工作簿实例化一个对象并传入对当前工作簿的引用
  • 使用airflow的DataflowPythonOperator安排数据流作业时出错

    我正在尝试使用airflow 的DataflowPythonOperator 来安排数据流作业 这是我的 dag 运算符 test DataFlowPythonOperator task id my task py file path my
  • 如何从 Azure Key Vault 中的证书获取私钥?

    我在 Azure Key Vault 中有一个证书 我想从中提取私钥 根据微软文档 https learn microsoft com en us azure key vault certificates about certificate
  • Delphi 在保存对话框中覆盖现有文件

    我正在使用 TSaveDialog 组件通过单击按钮来保存文件 但是 我在保存现有文件名时遇到问题 通常 当您想要在 Windows 中保存现有文件时 会弹出一个消息框 询问您是否确实要覆盖该文件 TSaveDialog 组件的情况并非如此
  • 想要在 dojo 中创建一个组合框,其中下拉菜单和自动完成功能仅在用户输入 4 个字符后才启动

    我想在 dojo 中创建一个组合框 其中下拉菜单和自动完成功能仅在用户输入 3 个字符后才会启动 当前的默认设置将开始显示下拉菜单 并在用户输入第一个字符时自动完成 是否有任何属性可以实现此行为 我可以重载某些函数吗 或者我应该自己编写一个
  • GlassFish 3 + Maven + 远程部署

    我找不到任何关于如何通过 Maven 将简单的基于 Maven 的项目部署到远程 GlassFish 服务器的明确答案 mvn package xxx deploy 我认为只有 Cargo 插件支持 GlassFish 3 对吧 我在配置方
  • 为什么在 git reset (--mixed) 之前显式调用 git reset --soft

    在 git 文档 以及许多 SO 线程 中 建议使用这种重置方法 git reset soft HEAD go back to WIP state lt 2 gt git reset lt 3 gt 2 这将从提交历史记录中删除 WIP 提
  • UTF-8 格式的 JAVA Http POST 请求

    我的 J2EE 应用程序能够从 JSP 页面接收 POST 请求 这没有问题 但是如果我使用另一个java应用程序发送POST请求 收到的参数不是UTF 8字符串 这是我的代码 URL url new URL http localhost
  • 使用 std:fstream 如何拒绝对文件的访问(读和写)

    如何拒绝访问使用 fstream 打开的文件 我想在使用 fstream 读取 写入文件时无法访问该文件 您无法使用标准 fstream 来做到这一点 您必须使用特定于平台的函数 在 Windows 上 您可以使用创建文件 http msd