IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Chemin relatif ".//fichier.ini" GetPrivateProfileString


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    31
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 31
    Par d�faut Chemin relatif ".//fichier.ini" GetPrivateProfileString
    bonjour � tous,

    pourriez-vous m'aider ? car je bute sur le probl�me suivant :
    - sous windows,
    - je r�ussis � lire dans un fichier ini
    - qui est dans le m�me r�pertoire que ma dll
    - d�velopp�e sous Visual C++ 2010 Express
    - quand je fournis le chemin absolu "c:/monfichierini.ini" �a marche...

    mais il se trouve que je ne ma�trise pas dans quel r�pertoire sera install�e la dll par l'utilisateur, j'ai donc besoin d'indiquer le chemin relatif = le m�me r�pertoire que ma dll.

    Je pensais pouvoir passer en param�tre de GetPrivateProfileString le chemin
    - "monfichierini.ini" directement ... mais cela ne fonctionne pas...

    - ".//monfichierini.ini" ne marche pas non plus...

    J'ai bidouill� le format, rien ne passe...

    Autre piste, avec GetCurrentDirectory : mais VStudio me dit qu'il n'est pas d�clar�... quelle librairie faut-il ajouter ??

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    char path[MAX_PATH];
    GetCurrentDirectory(sizeof(path), path);
    merci pour votre aide : je craque sur un truc qui doit �tre tout b�te ?!!

  2. #2
    Membre �m�rite
    Homme Profil pro
    R&D imagerie 3D / prog embarqu�e
    Inscrit en
    Mars 2007
    Messages
    419
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activit� : R&D imagerie 3D / prog embarqu�e
    Secteur : Sant�

    Informations forums :
    Inscription : Mars 2007
    Messages : 419
    Par d�faut
    Salut,

    Je pense que tu confonds le dossier o� se trouve ta DLL et ton dossier d'ex�cution. Typiquement, sous VC++, le dossier o� se trouve ta DLL est Debug ou Release, mais le dossier d'ex�cution est celui o� se trouve le code de ton projet de d�marrage.
    Par exemple, si ta solution Tutu contient un projet de DLL Tata et un projet pour tester ta DLL Toto, tu devrais avoir avoir une arborescence du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Tutu
    |-> Debug
    |    |-> Tata.dll
    |    |-> Toto.exe
    | 
    |-> Release
    |    |-> Tata.dll
    |    |-> Toto.exe
    | 
    |-> Tata
    |-> Toto
    Si tu ne changes pas tes options par d�faut, ton dossier d'ex�cution devrait �tre Toto.

    Pour GetCurrentDirectory(), il faut inclure Windows.h

    Bon courage !

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    31
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 31
    Par d�faut
    merci Djuju !

    la cible est de cr�er un plugin (une dll) qui est ajout�e dans un r�pertoire d'un programme tiers (un jeu de voiture !) pour extraire des informations de t�l�m�trie.

    Donc, je compile mon programme sous la forme d'une dll.

    Ce plugin est copi� par l'utilisateur dans un r�pertoire de son application
    c:\programme\jeu\plugins\
    mais pas forc�ment sur c: parfois les joueurs installent � d'autres endroits...

    Mon plugin utilise un fichier ini positionn� dans le m�me r�pertoire pour des param�trages utilisateurs. Le fichier ini �vite de toucher � la base de registre, d'effectuer une installation...

    Donc je souhaite que mon programme en c++, lorsqu'il sera utilis� sous forme de dll, trouve le fichier ini !!!

    mais �a ne fonctionne pas ... merci pour vos lumi�res

    j'ai bien inclus #include <windows.h>
    mais VisualStudio me dit "Error: Cette d�claration n'a pas de classe de stockage ou de sp�cificateur de type"

    1>plugin.cpp(78): error C2365: 'GetCurrentDirectoryA'*: red�finition*; la pr�c�dente d�finition �tait 'fonction'
    1> C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winbase.h(8887)*: voir la d�claration de 'GetCurrentDirectoryA'
    >plugin.cpp(78): error C2078: initialiseurs trop nombreux
    1>plugin.cpp(78): error C2440: 'initialisation'*: impossible de convertir de 'char [260]' en 'int'
    1> Aucun contexte dans lequel cette conversion est possible

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    31
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 31
    Par d�faut
    Pas besoin de GetCurrentDirectory !
    Voil� ce qui a fonctionn� finalement comme syntaxe du chemin relatif :

    LPCSTR localPath="Plugins\\MonFichierIni.ini";

    pff, quelle gal�re
    merci � Djuju pour son aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. utiliser les chemin relatif de fichier depuis un .jar
    Par wechteuf dans le forum NetBeans
    R�ponses: 2
    Dernier message: 27/12/2008, 16h53
  2. chemin dans un fichier ini
    Par grabriel dans le forum Langage
    R�ponses: 2
    Dernier message: 05/02/2008, 17h25
  3. Chemin relatif de fichier
    Par Patrick Njokou dans le forum BIRT
    R�ponses: 4
    Dernier message: 12/06/2007, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo