Chemin pas absolu en C

seo610 Messages postés 705 Statut Membre -  
SchSoftware Messages postés 46 Statut Membre -
Bonjour,
Sous Windows Vista ou xp, Comment chercher un fichier stoker dans ex:
C:\Users\Personne\Documents
mais que le chemin "Personne" marche sous toute les ordi?
Que peut importe l'utilisateur le programme (en C) marcherais.
merci

3 réponses

  1. SchSoftware Messages postés 46 Statut Membre 3
     
    Bonsoir

    #include <ShlObj.h>
    
    TCHAR tchPath[MAX_PATH];
    if(SHGetSpecialFolderPath(NULL,tchPath,CSIDL_COMMON_DOCUMENTS,false))
    {
    // le chemin est valide...
    }

    https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetspecialfolderpatha?redirectedfrom=MSDN

    Je ne sais plus si TCHAR existe en C
    Au cas ou, c'est un "char" en MultiByte et WCHAR en Unicode...

    Bien à vous
    0
    1. seo610 Messages postés 705 Statut Membre 102
       
      peut tu expliquer en détail ce qu'il faut faire pour compiler ça?
      0
  2. SchSoftware Messages postés 46 Statut Membre 3
     
    Bonjours

    Il faut inclure le fichier "Shlobj.h"
    Linker avec la bibliothèque "Shell32.lib"

    Ces opération dépende du compilateur utilisé...

    Et Enfin, le code fournit ce suffit a lui même!

    Bien à vous
    0
    1. seo610 Messages postés 705 Statut Membre 102
       
      il me fait
      u.o(.text+0x55):u.c: undefined reference to 'SHGetSpecialFolderPath'
      0
  3. SchSoftware Messages postés 46 Statut Membre 3
     
    Bonsoir

    Ce message d'erreur vient d"un compilateur que je ne connais pas, je ne peu pas trop vous aider pour trouver une solution!
    Mais de ce que je comprend, il ne trouve pas la définition de la fonction.

    Bien à vous
    0