Bonjour à tous !
Ne trouvant pas de solution malgré des recherches assez intensives sur le web, je viens vous exposer mon problème.
Petit résumé de la situation, tout d'abord. L'année passée, j'ai écrit un programme de calcul en C++, celui-ci tournant sous Windows sans problème (j'utilisais, à l'époque, Visual C++).
Cette année, j'aimerais continuer à travailler son code mais je suis maintenant amené à utiliser exclusivement Linux (Scientific Linux), système que je découvre peu à peu (pour la programmation, j'utilise un simple éditeur et g++) et j'ai rapidement découvert que certaines parties du code devaient être changées pour pouvoir tourner.
Il ne me reste maintenant qu'un souci, à savoir régler le positionnement d'un dossier lors de sa création par le programme.
Je m'explique :
Dans mon programme, je demande la création de dossiers dans lesquels je positionne des fichiers, résultats de différents calculs. Pour cela, j'utilise
qui est une version adaptée d'un forum. En clair, ceci demande l'exécution d'une commande propre à l'OS (à savoir "mkdir out1").Code:string commande("mkdir out1"); int retour; retour = system(commande.c_str()); out1.open(".//out1//out.txt");
Mon problème : le dossier est créé (c'est déjà ça ^^) mais pas dans le dossier où se trouve l'exécutable de mon programme (ce que je voudrais!) mais dans /home/monutilisateur :/..
Comment puis-je lui dire d'utiliser le dossier où l'exécutable se trouve comme "pwd" (sans pour autant devoir écrire explicitement un chemin complet, solution peu élégante)?
Je vous remercie d'avance pour vos conseils, commentaires ou liens vers d'éventuels tutoriaux explicites.
Merci !
Alex
-----