std::ofstream,写入前检查文件是否存在

2024-06-28

我正在实现文件保存功能Qt使用 C++ 的应用程序。

我正在寻找一种方法来检查所选文件在写入之前是否已存在,以便我可以向用户提示警告。

我正在使用一个std::ofstream我并不是在寻找Boost解决方案。


这是我最喜欢的隐藏功能之一,我随身携带以供多种用途。

#include <sys/stat.h>
// Function: fileExists
/**
 *  Check if a file exists
 *
 * @param[in] filename - the name of the file to check
 *
 * @return    true if the file exists, else false
*/
bool fileExists(const std::string& filename)
{
    struct stat buf;
    if (stat(filename.c_str(), &buf) != -1)
    {
        return true;
    }
    return false;
}

我发现如果您没有立即打算将文件用于 I/O,那么这比尝试打开文件更有品味。

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

std::ofstream,写入前检查文件是否存在 的相关文章

随机推荐

  • 如何解析日期格式?

    在我的应用程序正在使用的 Web 服务之一中 我遇到了以下日期时间格式 Date 1395780377459 这是某种标准的日期格式吗 如果是这样 如何将其解析为 DateTime 对象 EDIT 感谢您的评论 所以 Date 139578
  • 关闭 Quartz .Net 中的调试日志记录

    我正在使用 Quartz NET 在我们的应用程序中安排一些自定义任务 一切工作正常 只是它在一秒钟内记录大约二十个调试条目 我不知道如何关闭调试日志记录 任何帮助将非常感激 因为我一直试图在网上查找但没有运气 调试条目如下所示 DEBUG
  • 如何在 Rails 中为不在模型文件夹根目录中的模型定义工厂女孩?

    我想为我的服务器中的模型创建一个工厂女孩 该模型位于模型文件夹的文件夹内 我的树视图如下所示 app models xxx user rb spec factories xxx user rb 我的工厂女工长这样 FactoryGirl d
  • C++ 限制语义

    我正在更新性能关键库以使用限制 如 g 和 MSVC 在 C 11 中使用关键字实现的那样 restrict 这似乎是最标准的扩展 所以我将使用restrict and restrict可以互换 restrict是一个 C99 关键字 但编
  • 如何手动向我刚刚生成的进程发送消息?

    如何使用 Erlang 发送消息进行处理 我确实启动了一个进程 输出显示 pid 进程标识符 是 lt 0 39 0 gt 我的问题是如何向此进程发送消息 lt 0 39 0 gt 手动 While list to pid 1确实可以用来构
  • 直接将数据放入AppEngine的Blobstore中

    AppEngine 的标准 API 假定文件是从 HTML 表单上传的 我正在尝试从可由非 Html 客户端 Flash iPhone 等 调用的 REST API 方法将文件发布到 blobstore 我试图运行的代码 Get the b
  • .NET 进程在 Windows 7 中进行 DNS 查找失败

    我有一个应用程序在 Windows 7 下 DNS 查找 System Net Dns GetHostEntry 失败 该应用程序在 XP 下工作正常 生成的错误是套接字错误代码 11003 WSANO RECOVERY 11003这是一个
  • 无法加载动态库“php_wincache.dll”?

    因为我已经使用 ASP NET 所以我决定在 IIS 上使用 PHP 我使用 Wep PI 安装它 但是当我尝试安装 Composer 时 他失败并出现 PHP 设置错误 我尝试将 php ini 中的 extension dir 更改为绝
  • 指针类型与 PyArray_SimpleNew 不匹配

    我正在使用 C API 使用 Numpy 创建 Python 模块 并遇到与输出的奇怪的不兼容问题PyArray SimpleNew 我想了解一下 但首先是一个最小的例子 include
  • 集群故障转移

    我知道我问的是有关集群故障转移的一些非常明显的问题 我在 redis io 上读到 如果任何主集群节点发生故障 它将影响其他主节点 直到从属节点接管 在我的结构中 我没有定义任何奴隶 只是与 3 个主人一起工作 我正在考虑修改 redis
  • android中单例的问题

    我有一个 Android 应用程序 其中有几个活动 每个活动都会下载一个 xml json 提要 对其进行解析并将其推送到一个单例 通常作为数组列表 然而 在经历了各种活动之后 单例似乎正在消亡 并且大多数早期下载的数组列表现在都是空的 为
  • 如何将变量从命令行传递到 CMake Toolhain 文件?

    有没有办法在调用 cmake 时将变量传递给工具链文件 例如 我有以下工具链文件 message FOO FOO 我尝试过以下方法 但没有成功 该变量未在工具链文件中设置 cmake
  • pytest 在参数化中使用固定装置作为参数

    我想使用固定装置作为参数pytest mark parametrize或者会产 生相同结果的东西 例如 import pytest import my package pytest fixture def dir1 fixture retu
  • 如何自定义 django 管理更改页面以返回到“保存”时的特定 URL

    我想使用 django contrib admin 页面来编辑我的模型 但从我自己的视图中调用单独的更改页面 然后在用户单击 保存 后返回那里 理想情况下 这应该通过将返回 URL 附加到管理页面的 url 来实现 如 return url
  • Flask多参数从一个url查询数据库的多列时如何避免多个if语句

    我正在尝试使用 Flask 作为前端来构建一个会计数据库 主页是分类帐 有九列 日期 描述 借方 贷方 金额 帐户 参考 日记帐 和 年份 我需要能够每次查询一次两个 已有超过 8000 个条目 并且还在不断增加 到目前为止 我的代码显示了
  • AngularJS - 从 run 方法访问 ng-init 变量

    1 我在 ng init 中初始化了变量 例如 ng init password Mightybear 2 我想从 run方法访问它 例如 anguar module ngApp run function Access password h
  • 检查行是否存在,Laravel

    我有以下数据库结构 items id name user id users table id name user favorites table id user id item id 在我的项目永久链接页面上 我有一个 添加到收藏夹 按钮
  • asset_host 和相关协议 URL 更改为 http

    我的应用程序 Rails 4 0 0 的某些元素可通过 http 和 https 连接使用 因此我已将 asset host 配置为使用相对协议 url 这应该允许浏览器进行切换它希望从中获取资产的协议 config action cont
  • 实现导航抽屉后通知栏呈灰色

    我正在尝试学习 Android 中导航抽屉的实现 在一项活动中 我将导航抽屉置于状态栏 透明 下方和应用栏上方 一切正常 左屏幕截图 在同一应用程序的另一个活动中 我试图创建在应用程序栏下方拉起的导航抽屉 但在这里 状态栏由于某种原因变成灰
  • std::ofstream,写入前检查文件是否存在

    我正在实现文件保存功能Qt使用 C 的应用程序 我正在寻找一种方法来检查所选文件在写入之前是否已存在 以便我可以向用户提示警告 我正在使用一个std ofstream我并不是在寻找Boost解决方案 这是我最喜欢的隐藏功能之一 我随身携带以