0

我创建了一个 .properties 文件,其中包含一些简单的key = value对。我从一个示例 c++ 控制台应用程序中尝试了它,使用导入的 java 类,我能够访问它,没问题。

现在,我正在尝试以相同的方式从另一个(非托管)c++ 项目调用的 C++ dll 中使用它。

由于某种原因,该文件未被访问。

也许我的文件位置是错误的。我应该把它存放在哪里?

还有什么问题?

TIA

4

1 回答 1

1

正如您提到的“DLL”,我猜您正在使用 MS Windows。从 DLL 中查找文件,并且独立于登录用户是一个受限项目。最好的方法是将文件存储在由环境变量组装而成的路径中ALLUSERSPROFILE。这是唯一一个与所有用户相同的位置,并且所有用户通常都具有写访问权限。您的应用程序数据应位于名为 <MyCompany> 或 <MyApplicationsName> 的私有子目录中。类型

echo %ALLUSERSPROFILE%

在 Windows 命令行提示符下找出机器上的实际位置。

将您的数据存储在即:

%ALLUSERSPROFILE%\MyApp\

然后,您的 dll 可以使用 getenv 查询 ALLUSERSPROFILE 的位置:

char *allUsersData = getenv("ALLUSERSPROFILE");
于 2010-02-02T20:03:11.587 回答