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

4

我正在尝试通过 s3fs 使用 RC4 对文件进行加密,需要用文件描述符提取文件名并执行操作。那么在 C++ 中应该如何实现呢?

由于我不知道如何开始,因此没有代码可供展示,但大致实现过程如下:

void foo(int fd){
// something

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

这个可行吗?还是说我注定要使用系统调用?


1
使用C函数读取到字符缓冲区,然后将该字符缓冲区转换为std::string,再转换为std::stringstream,也许可以这样做? - tadman
@EhabEl-Nabarawy 那里列出的方法在我的系统上不起作用。我正在尝试使用tadman的建议“jerry-rig”一个解决方案,似乎有点可行。还不确定是否完全可行。 - Callat
1
@Caleb 哦,糟糕,是基于FUSE的,抱歉! - Ehab Elnabarawy
没问题,谢谢你的帮助。我认为我已经通过系统调用成功地实现了我的目标,但我仍然有一些错误。如果我无法调试,可能会在几天后再次发布。 - Callat
1个回答

8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接