如何从文件描述符中打开ifstream?

时间:2017-04-14 01:15:17

标签: c++ file s3fs

我正在尝试使用rc4通过s3fs对文件实施加密。基本上我需要一个文件描述符,s3fs使用它来提取文件的名称,然后做这件事。那我怎么用c ++做呢?

我没有任何代码可以展示,因为我不知道如何启动它会看起来像:

void foo(int fd){
// something

string temp; 
temp = // result of that somethingthing;
ifstream in;
in.open(temp,ios::binary | ios::in);
}

这甚至可行吗?或者我只是注定要使用系统调用?

1 个答案:

答案 0 :(得分:6)

简答:你不能,不管标准C ++。没有官方/便携方式可以做到。

可以,然而,找到一些"解决方案"以前这些帖子中的解决方案:

How to construct a c++ fstream from a POSIX file descriptor?

Getting a FILE* from a std::fstream

Retrieving file descriptor from a std::fstream