作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 fstream 打开文件进行写入。我不想覆盖现有文件,所以经过一番搜索后,我找到了 ios::noreplace。但是当我编译这个时:
#include <fstream>
using namespace std;
//......Did something else.
ofstream fout;
fout.open(outputFile,ios::noreplace);//outputFile is a C string
我得到一个错误
error: ‘noreplace’ is not a member of ‘std::ios’
我只是想知道是否有任何 std::替代 ios::noreplace?
最佳答案
一些在 Internet 上的搜索显示您可以通过尝试以“输入”模式打开来手动添加存在性检查:
std::fstream myfile("thefile.txt", std::ios::in);
if (myfile)
{
// error, file exists!
}
else
{
myfile.close();
myfile.open("thefile.txt", std::ios::out); // OK now
}
关于ios::noreplace 的 C++ 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9251581/
我正在使用 fstream 打开文件进行写入。我不想覆盖现有文件,所以经过一番搜索后,我找到了 ios::noreplace。但是当我编译这个时: #include using namespace
我正在使用 rpmbuild 创建自己的 RPM。 我的 RPM 包含配置文件,即使 RPM 包含这些配置文件的新版本,它也应该永远不会被覆盖。 为了存档,我用 标记了这些 %config(norep
在我的 rpm 中,我有一个完整的目录,我想用 %config(noreplace) 标记它。在那个目录中有一个文件,我想在每次安装时用 rpm 的最新版本替换它,使用 %config 的语义。 使用
我是一名优秀的程序员,十分优秀!