我创建了一个 .properties 文件,其中包含一些简单的 key = value 对。 我从示例 C++ 控制台应用程序中使用导入的 Java 类对其进行了尝试,我能够访问它,没问题。
现在,我正尝试以相同的方式从 C++ dll 中使用它,它正在被另一个(非托管)C++ 项目调用。
由于某种原因,该文件未被访问。
可能我的文件位置不对。我应该将它存储在哪里?
还有什么问题?
TIA
最佳答案
正如您提到的“DLL”,我猜您使用的是 MS Windows。从 DLL 中查找文件,并且独立于登录用户是一个受限项目。最好的方法是将文件存储在由环境变量 ALLUSERSPROFILE
组装的路径中。这是唯一对所有用户都平等的位置,并且所有用户通常都具有写访问权。您的应用程序数据应驻留在名为 < MyCompany > 或 < MyApplicationsName > 的私有(private)子目录中。类型
echo %ALLUSERSPROFILE%
在 Windows 命令行提示符下找出机器上的实际位置。
将您的数据存储在即:
%ALLUSERSPROFILE%\MyApp\
然后您的 dll 可以使用 getenv 查询 ALLUSERSPROFILE 的位置:
char *allUsersData = getenv("ALLUSERSPROFILE");
关于c++ - 在哪里存储 .properties 文件以在 C++ dll 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2187128/