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

Fermé
julien38813 Messages postés 1 Date d'inscription vendredi 2 avril 2010 Statut Membre Dernière intervention 2 avril 2010 - 2 avril 2010 à 15:44
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 13 avril 2010 à 16:57


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
2 avril 2010 à 17:34
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
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
2 avril 2010 à 23:10
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
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
13 avril 2010 à 16:23
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 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 328
13 avril 2010 à 16:57
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