我要在Windows中将std :: ifstream转换为FILE *句柄。我在这个问题上搜索了很多,人们说可以用函数fstream :: fd()获取fstream的底层文件描述符。问题在于,在Visual Studio中无法使其正常工作(它说该类没有成员fd)。 我可以在哪个库中找到此功能?我包括了通常的C ++ fstream。
#include <fstream>
FILE* handle;
std::ifstream file;
file.open(file_to_open);
if (file.is_open()) {
std::ifstream f;
handle = f.fd();
file.close();
}
编辑:如果Windows中还有另一个函数可以打开文件而无需在内部调用CreateFileA函数,则将不胜感激。