【发布时间】:2012-07-18 11:54:48
【问题描述】:
我在 Linux 上工作,文件描述符是这个操作系统的主要模型。
我想知道是否有任何库或任何方法可以从 C++ std::fstream 开始检索本机 Linux 文件描述符。
我想到了boost::iostream,因为有一个名为file_descriptor的类,但我明白它的目的与我想要实现的不同。
你知道有什么方法吗?
【问题讨论】:
-
为什么需要文件描述符?
-
我也在寻找非标准,因为我会坚持 Linux 平台。我也找到了这个页面。有人用过吗?任何http://www.ginac.de/~kreckel/fileno/
-
这个问题不是重复的。这个问题询问如何从 iostream 获取文件描述符。文件描述符是一个低级内核概念。指出的问题是原来的问题,这应该是重复的,它谈到了 FILE * 流,它们是不一样的。
-
相关(因为引用的重复不是重复本身):What's the difference between a file descriptor and file pointer?
-
就个人而言,在执行写入后,我需要确定文件的大小 - 经常!
file.seekg( 0, std::ios::end ); fsize = file.tellg(); file.seekg( 0, std::ios::end ); fsize = file.tellg() - fsize;在某些文件系统上可能需要很长时间。同时,打开文件描述符上的fstat()速度非常快。
标签: c++ fstream file-descriptor