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

julien38813 Messages postés 1 Statut Membre -  
Char Snipeur Messages postés 10112 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 ?

6 réponses

  1. 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
  2. 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
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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