可能类似于this . 我有一个在 Visual Studio 中创建的 C++ DLL。在 DLL 中是一个 X 类,所有函数都是 public static 和 exported(使用 _declspec)。我想在该类的一个函数中读取一个文本文件(例如 'file.txt' )。
_declspec(dllexport) void XClass::readFile()
{
ifstream file;
file.open("file.txt");
if(!file.is_open()) return;
int x;
file>>x;
cout<<x<<endl;
}
问题是,我不知道如何将 txt 文件添加到 DLL。我已经把它添加到VS项目的资源中了,但是好像没有添加,因为当我运行另一个包含DLL文件的项目时,is_open()
失败了。我也尝试将 file.txt 添加到新项目中,但没有成功。如何使用DLL文件中的资源,或者更好地将它们添加到DLL中。
最佳答案
如果您想读取程序中嵌入的一些数据而不是文件,那么您需要像您引用的问题中那样使用 Windows API。 ifstream
不处理嵌入式资源——这是一个标准的 C++ 类,对 Windows 资源一无所知。
如果你想读取一个普通的文本文件,你不需要嵌入任何东西 - 只需将文件放在你启动程序的目录中。
关于c++ - DLL 执行程序中的环境路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34996306/