Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用ofstream打开文件,以便其他用户可以追加/写入同一文件?_C++_Linux_File - Fatal编程技术网

C++ 如何使用ofstream打开文件,以便其他用户可以追加/写入同一文件?

C++ 如何使用ofstream打开文件,以便其他用户可以追加/写入同一文件?,c++,linux,file,C++,Linux,File,我们有一个二进制文件,它创建了一个每日CSV报告,其中包含一些文件名,如Sample_20170523,即文件名附加了当前日期,但现在的问题是,当其他一些文件在同一天运行该二进制文件时,出现无法打开该文件的错误。此问题的代码段如下: std::ofstream of; of.open("FileName_20170523",ios::out); if(!of) std::cout<<"Unable to open file..."<<std::endl; std::

我们有一个二进制文件,它创建了一个每日
CSV报告
,其中包含一些文件名,如Sample_20170523,即文件名附加了当前日期,但现在的问题是,当其他一些文件在同一天运行该二进制文件时,出现无法打开该文件的错误。此问题的代码段如下:

std::ofstream of;
of.open("FileName_20170523",ios::out);
if(!of)
  std::cout<<"Unable to open file..."<<std::endl;
std::的流;
of.open(“FileName_20170523”,ios::out);
如果(!of)

std::cout您可以使用
chmod()
fchmod()
更改文件的权限。

system()允许执行系统命令

system("chmod 777 diretory_to_file/name");
如果已退出,则向所有人提供r+w+x

std::ofstream of;
of.open("FileName_20170523",ios::out);

fchmod
需要文件描述符。另外,从
fstream
获取FD还没有标准的方法。这两种方法似乎都是非常粗糙的非c++方法things@Kapil那么,如果你有C++ 17,你可以使用文件系统函数<代码> STD::Fiels::PyMistSouth[](/Cuth>),在此之前你可以使用<代码> Boo::文件系统< /代码>。但在此之前,您必须使用好的旧C函数。@Barmar Right。在此上下文中,
chmod()
将是要使用的函数。您可能会发现编译器/库具有
支持,如果不是“官方”文件系统库支持的话。当然值得一看。