Chemin pas absolu en C

Fermé
seo610 Messages postés 596 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 30 juin 2015 - 27 mai 2010 à 01:11
SchSoftware Messages postés 46 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 17 avril 2011 - 28 mai 2010 à 02:15
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

SchSoftware Messages postés 46 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 17 avril 2011 3
27 mai 2010 à 02:12
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
seo610 Messages postés 596 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 30 juin 2015 102
27 mai 2010 à 04:12
peut tu expliquer en détail ce qu'il faut faire pour compiler ça?
0
SchSoftware Messages postés 46 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 17 avril 2011 3
27 mai 2010 à 16:53
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
seo610 Messages postés 596 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 30 juin 2015 102
27 mai 2010 à 23:25
il me fait
u.o(.text+0x55):u.c: undefined reference to 'SHGetSpecialFolderPath'
0
SchSoftware Messages postés 46 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 17 avril 2011 3
28 mai 2010 à 02:15
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