Probleme Path Visual C++ [Résolu]

Signaler
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012
-
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012
-
Bonjour a tous, voial je susi un peu debutant en prog C++ specifique windows j'aimerais recuperer le chemin d'acces au programme quand il est lance pour pouvoir le localiser et ensuite travailler dessus par exemple des copies etc...

Merci pour votre reponse

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
A voir également:

7 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
GetModuleFileName

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
char buff[264];
MessageBox(0, MyPath(buff), "path", 0);

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

Re je te remercie ta fonction marche nickel alors juste pour ceux que ca interesse ou qui comprennent pas l'anglais(pour msdn) la fonction marche comme ca :

#define TAILLE_BUFFER 250
char path[TAILLE_BUFFER];
GetModuleFileName(NULL, path, TAILLE_BUFFER);


++ et encore merci Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

re salut

j'ai voulu approfondir la fonction et utilise la fonction : PathRemoveFileSpec

on peut en avoir une description sur le msdn ici : MSDN

voila mon bout de code et mes erreurs :

Linking...
main.obj : error LNK2001: unresolved external
symbol __imp__PathRemoveFileSpecA@4
Calendrier/Calendrier.exe : fatal error LNK1120: 1 unresolved externals

#include <Windows.h>
#include <Shlwapi.h>
#define TAILLE_BUFFER 250
int main()
{
  int i, j;
  char heure[9], path[TAILLE_BUFFER], path_save[TAILLE_BUFFER], *path_noname;
  GetModuleFileName(NULL, path, TAILLE_BUFFER);
  for( i=0, j=0 ; path[j] != '\0' ; i++, j++){
if(path[j] == '\\'){
path_save[i] = '\\';
i++;
}
path_save[i] = path[j];
  }
  path_save[i] = '\0';
  path_noname = path_save;
  PathRemoveFileSpec(path_noname);


Merci

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
char* MyPath(char* pszDest)
{
char* c = pszDest + GetModuleFileName(NULL, pszDest, MAX_PATH); while(*c !'\\') c--; *c 0;
return pszDest;
}

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

re

int main()
{
char *path;

path=MyPath(path);

main.cpp

l:\lycee\visual c++\calendrier\main.cpp(52) : warning C4700: local variable 'path' used without having been initialized
l:\lycee\visual c++\calendrier\main.cpp(52) : error C2220: warning treated as error - no object file generated

Et si j'enleve Warning as error ca me fait un segmentation fault

Merci ++

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

Ok je te remercie ca marche

@+ sur le forum Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.