【问题标题】:Environment Path in DLL executed programsDLL 执行程序中的环境路径
【发布时间】:2016-01-26 00:55:36
【问题描述】:

可能类似于this。 我有一个在 Visual Studio 中创建的 C++ DLL。在 DLL 中是一个 X 类,所有函数都为公共静态并导出(使用 _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 中。

【问题讨论】:

    标签: c++ visual-studio dll


    【解决方案1】:

    如果您想读取程序中嵌入的一些数据而不是文件,那么您需要像您引​​用的问题一样使用 Windows API。 ifstream 不处理嵌入式资源 - 这是一个标准 C++ 类,对 Windows 资源一无所知。

    如果你想读取一个普通的文本文件,你不需要嵌入任何东西 - 只需将文件放在你启动程序的目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 2011-01-10
      • 2011-03-09
      • 2013-10-26
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多