【问题标题】:where to store .properties file for use in c++ dll在哪里存储 .properties 文件以在 c++ dll 中使用
【发布时间】:2011-01-12 07:52:41
【问题描述】:
我创建了一个 .properties 文件,其中包含几个简单的 key = value 对。
我从一个示例 c++ 控制台应用程序中尝试了它,使用导入的 java 类,我能够访问它,没问题。
现在,我正在尝试以相同的方式从另一个(非托管)c++ 项目调用的 C++ dll 中使用它。
由于某种原因,该文件未被访问。
也许我的文件位置有误。我应该把它存放在哪里?
还有什么问题?
TIA
【问题讨论】:
标签:
c++
windows
dll
location
properties-file
【解决方案1】:
当您提到“DLL”时,我猜您使用的是 MS Windows。从 DLL 中查找文件,并且独立于登录用户是一个受限项目。最好的方法是将文件存储在由环境变量ALLUSERSPROFILE 组装而成的路径中。这是唯一一个与所有用户相同的位置,并且所有用户通常都具有写访问权限。您的应用程序数据应位于名为 或 的私有子目录中。类型
echo %ALLUSERSPROFILE%
在 Windows 命令行提示符下找出机器上的实际位置。
将您的数据存储在即:
%ALLUSERSPROFILE%\MyApp\
然后您的 dll 可以使用 getenv 查询 ALLUSERSPROFILE 的位置:
char *allUsersData = getenv("ALLUSERSPROFILE");