有没有办法获得FILE*
以现代 C++ 方式打开文件的句柄?.. 我想避免使用 std::fopen
来自 <cstdlib>
因为我被警告说它可能不安全。
我试着检查是否有办法检索 FILE*
来自 fstream
但似乎没有办法做到这一点。
最佳答案
I want to avoid using
std::fopen
from<cstdlib>
as I've been warned that it's potentially unsafe.
fopen()
没有什么“不安全”的地方.它通过 C 标准成为 C++ 标准的一部分。他们可能说的是,最好使用 RAII 对象来管理资源(文件句柄),特别是当您在程序中使用异常时。
I tried checking if there's a way to retrieve
FILE*
fromfstream
but it seems there isn't a way to do that.
不是一个简单的,完全便携的。查看类似 this one 的问题.
如果你真的想要一个
FILE*
,使用 C API。
关于c++ - 以安全的 C++ 方式获取 FILE*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65863042/