Je sais, ce n'est pas la meilleure idée d'ouvrir un fichier en le contraignant à être placé dans le même répertoire que le module exécuté. Mais, il y a un outil, on m'a ordonné de programmer, avec précision ces spécifications.Ouvrir le fichier relatif au module exécuté
Il existe un paramètre pour le chemin du fichier qui peut être le chemin absolu du fichier ou simplement le nom du fichier en supposant qu'il se trouve dans le répertoire en cours.
Je ne souhaite pas utiliser la fonction WinAPI GetCurrentDirectory pour conserver la portabilité. L'outil doit échouer si le fichier n'a pas pu être ouvert.
Habituellement, j'utilise boost :: filesystem comme bibliothèque d'E/S. Ainsi, je ne suis pas très familier avec std-library.
Ma première idée était de simplement passer le chemin du fichier à std :: ifstream :: open(). Mais il semble que cela ne fonctionne pas pour les chemins relatifs.
Que puis-je faire pour couvrir mes besoins?
Vous commencez à parler de l'ouverture de fichiers qui résident dans le même répertoire que l'exécutable. Ensuite, vous parlez du répertoire actuel. Ce ne sont pas nécessairement identiques. En fait, je dirais même que c'est * rare * que le répertoire courant d'un programme de ligne de commande soit le même que celui du programme. S'il vous plaît clarifier ce dont vous avez vraiment besoin. –