c++ - 如何从 std::ofstream 获取文件 ID

标签 c++ unix filesystems

<分区>

我想在打开的文件上使用 flock(int fd, int operation),但是 flock()c 函数。如何从 std::ofstream outfile 获取 int fd 以用作 flock() 的参数。

附言。我想要 c++ 风格的 int fd,我知道我可以打开 c 风格的文件并获取它。问题是关于 c++ 和 flock()

std::ofstream outfile;
outfile.open ( LOCKFILE, std::ios_base::trunc);

谢谢

最佳答案

没有从标准 fstream 获取文件描述符的标准方法。可能有特定于平台的方法,具体取决于您的标准库实现。

如果您使用的是 libstdc++,则根据 this fstream 对象上可能有一个 filedesc() 方法,可以为您提供所需内容。

关于c++ - 如何从 std::ofstream 获取文件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25109919/

相关文章:

windows-xp - 你如何处理大量的小文件?

ruby-on-rails - 与 Rails 应用程序一起使用的文件服务器的建议

c++ - boost::python 和 set::erase -> 奇怪的行为

python - 有没有简单的方法来对 Python 脚本进行基准测试?

mysql - 创建 sql 转储并将其保存到远程

android - 确定 Assets 文件夹中文件的文件类型

c++ - 当调度策略为 SCHED_RR 时,pthread 临界区中运行时间峰值的原因可能是什么?

c++ - 如何确保 C/C++ 代码中不缺少 doxygen 样式的文档注释?

c++11,抢救一个集合

c - shell 中的历史功能