Hey, j'ai écrit un programme (une sorte de chose de type e-Book) et il charge des fichiers texte à partir d'un dossier dans le dossier dans lequel se trouve l'exécutable. Cela me pose un petit problème car si je lance le programme depuis un autre répertoire avec la commande "./folder/folder/program" par exemple, mon programme ne trouvera pas le texte, car le répertoire de travail n'est pas correct. Je ne peux pas avoir un répertoire absolu parce que je voudrais que le programme soit portable. Est-il possible d'obtenir le répertoire précis que l'exécutable exécute même s'il a été exécuté à partir d'un répertoire différent. J'ai entendu que l'on pourrait combiner argc [0] et getcwd() mais argc est tronqué quand il y a un espace dans le répertoire, (je pense?) Donc je voudrais éviter cela si possible.Répertoire du programme en cours sous Linux?
Je suis sous Linux avec g ++, Thanx à l'avance
argv est le vecteur d'argument (tableau de pointeurs vers des chaînes). argv [0] n'est pas tronqué par des espaces; argv [0] est choisi par le programme qui lance le programme et ne porte pas nécessairement de relation avec le chemin du programme. N'ajoutez pas getcwd() si argv [0] commence '/'. –
Avez-vous accès à la bibliothèque boost? –
Attendez une seconde. Avez-vous besoin d'un "chemin exécutable" ou d'un "répertoire exécutable par l'exécutable"? –