How to get file id from std::ofstream
我想在打开的文件上使用flock(int fd, int operation),但是flock()是c功能。如何从std::ofstream outfile获取int fd用作flock()的参数。
ps。我想使用c++样式的int fd,我知道我可以使用c样式打开文件并获取它。问题是关于c++ and flock()
1 2
| std::ofstream outfile;
outfile.open ( LOCKFILE, std::ios_base::trunc); |
谢谢
- 相关stackoverflow.com/a/5253726/2352671
没有从标准fstream获取文件描述符的标准方法。可能有特定于平台的方法,具体取决于您的标准库实现。
如果您使用的是libstdc,则根据此说明,fstream对象上可能有一个filedesc()方法,可以为您提供所需的内容。
- :(因此,使用锁定的唯一方法是使用打开的c样式文件?关于您的\\'edit \\'的提示。似乎对我的系统使用特定方法不是一个好主意。在所有unix系统上工作。