2010-02-02 8 views
0

J'ai créé un fichier .properties qui contient quelques paires de clés simples . Je l'ai essayé à partir d'un exemple d'application de console C++, en utilisant des classes java importées, et j'ai pu y accéder, pas de problème.où stocker le fichier .properties à utiliser dans C++ dll

Maintenant, j'essaie de l'utiliser de la même manière, à partir d'une DLL C++, qui est appelée par un autre projet C++ (non géré).

Pour une raison quelconque, le fichier n'est pas accessible.

Peut-être que l'emplacement de mon fichier est incorrect. Où devrais-je le stocker?

Quoi d'autre pourrait être le problème?

TIA

Répondre

1

Comme vous évoquez "DLL" je suppose, que vous utilisez MS Windows. Trouver un fichier à partir d'une DLL, et indépendamment de l'utilisateur connecté est un élément restreint. Le meilleur moyen consiste à stocker le fichier dans un chemin assemblé à partir de la variable d'environnement ALLUSERSPROFILE. C'est le seul emplacement qui soit égal à tous les utilisateurs et où tous les utilisateurs ont généralement un accès en écriture. Les données de vos applications doivent se trouver dans un sous-répertoire privé nommé < MyCompany> ou < MyApplicationsName>. Tapez

echo %ALLUSERSPROFILE% 

sur une invite de ligne de commande Windows pour connaître l'emplacement réel sur une machine.

Stockez vos données dans i.e. .:

%ALLUSERSPROFILE%\MyApp\ 

Votre dll peut alors interroger l'emplacement de ALLUSERSPROFILE en utilisant getenv:

char *allUsersData = getenv("ALLUSERSPROFILE"); 
+0

qui a fonctionné. Merci beaucoup pour votre aide!:) – user228058

Questions connexes