[C++] connaître l'adresse absolu d'un fichier

julien38813 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -


Bonjour,

J'utilise les objets std::ifstream pour manipuler des fichiers, je voudrais connaître l'adresse absolu de mon fichier pour la transmettre à un autre programme. Comment puis-je faire pour obtenir cette adresse ?
A voir également:

6 réponses

Utilisateur anonyme
 
moi aussi je cherche a peut pres la meme chose


j'ai un fichier cpp
je voudrait faire redémarrer mon programme ( il est en console )mais aucune fonction existe donc je voudrai savoir si il est possible que mon .exe se localise dans le système
et qu'il garde le chemin du fichier trouvé en mémoire
et que apres je met une fonction
 System("le chemin du fichier")

le chemin serait conservé dans une variable de type" char"
et cela devrait marcher .
enfin pour moi

mais en fait je te pose une question
0
Utilisateur anonyme
 
desolé je vien de tester en mettant directement le chemin du fichier
et ca ne marche pas comme je veut
j'ai une autre soluce
................................................



qui ne marche pas
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Pour Julien38813 :

Si tu ouvres le fichier, c'est que tu as déjà le path du fichier, au moins en relatif.
Il te faut récupérer aussi le répertoire courant à l'exécution du programme.
Pour cela sur windows tu as la fonction GetCurrentDirectory();

A guigui144 :
Pour redémarrer un programme de manière propre sur windows, il te faut utiliser la fonction CreateProcess : https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa?redirectedfrom=MSDN
L'idée consiste a créé un nouveau processus et fermé le programme en cours.
Si tu as d'autres questions, ouvre un autre post car ton sujet est bien différent du problème initial.

Cordialement,
0
julien38813
 
Le souci c'est que je dois transmettre l'adresse du fichier à un programme Java par Socket, et que je suis sous Linux...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
a

c'est totalement différant

pour l'instant je me suis intéressé que a la parti sur Windows prochainement je développerai des apli pour linux
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
encore plus simple sous Linux : http://www.manpagez.com/man/3/getcwd/
le nom de l'exécutable c'est argv[0] de int main(int argc,char* argv[])
dans le man, ils parlent aussi de fchdir qui pourrait t'intéresser.
0