[C/C++]Récupérer l'emplacement d'ou est exécuté un programme

Récupérer l'emplacement d'ou est exécuté un programme [C/C++] - Programmation

Marsh Posté le 06-03-2002 à 18:45:16    

Pour simplifier mon programme, je souhaiterai lire un fichier (qui aura toujours le même nom) qui se trouve dans le même répertoire que l'exécutable.
Il faudrait juste que j'obtienne le chemin de l'exécutable pour faire ce que je souhaite mais vu que je sais pas comment récupérer cette donnée.
 
Merci de votre aide  :hello:

Reply

Marsh Posté le 06-03-2002 à 18:45:16   

Reply

Marsh Posté le 06-03-2002 à 18:47:45    

Ben si le fichier que tu veux est dans le même rep que ton exe, suffit d'ouvrir le fichier grâce à son nom + extension. Pas besoin de préciser plus, le prog va alors chercher ton fichier dans le répertoire où il se trouve.

Reply

Marsh Posté le 06-03-2002 à 18:50:30    

Utilises getcwd. Ou mieux, si tu es sur un système GNU, utilises get_current_working_dir_name, c'est plus pratique (on s'affranchit des problèmes de longueur maximale).
 
Edit : ça ne sert à rien ce que j'ai dit.
À la réflexion, je crois que ça n'est pas facilement faisable, peut-être justement parce que c'est fortement déconseillé.

 

[jfdsdjhfuetppo]--Message édité par Jar Jar--[/jfdsdjhfuetppo]


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 06-03-2002 à 18:51:09    

Alload a écrit a écrit :

Pas besoin de préciser plus, le prog va alors chercher ton fichier dans le répertoire où il se trouve.



Non. Par défaut, il ira chercher dans le répertoire d'où il est lancé.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 06-03-2002 à 20:01:25    

alload : non je ne souhaite pas faire de cette façon car je voudrais que l'exécution du programme soit indépendante du lieu ou il se trouve.
 
Jarjar : merci ca marche très bien getcwd.

Reply

Marsh Posté le 06-03-2002 à 20:15:10    

tu peut aussi utilisé les arguments de ton prog,
int main(int argc, char **argv)
{
 
}
 
ton argv[0] doit être du style "c:\bob\bob.exe" si tu veux la path de ton prog, tu enlève la dernière partie avec le exe  ;)

Reply

Marsh Posté le 06-03-2002 à 20:37:15    

en C++Builder y a ParamStr(0) et Application->ExeName qui renvoie le chemin d'accès du programme (répertoire récupérable avec la fonction ExtractFilePath(Application->ExeName);


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 07-03-2002 à 09:06:58    

En BC3 ou 5, j'utilise GetModuleFileName(). On enlève le .EXE et met ce qu'on veut au bout.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed