Chemin d'accès Linux/Win32

Bonjour amis dévellopeurs, j'ai une question à vous poser :

Je programmais sous Windows en language C, avec cette ligne :

FILE *test = fopen("test", "w+");

Il crée un fichier 'test' dans le repertoire d'execution

Quand je disais 'je programmais sous Windows' , c'est que depuis le temps, je me suis pris de passion pour cet OS du nom de GNU/LINUX, avec cette ligne :

FILE *test = fopen("test", "w+");

Il crée un fichier dans 'test' dans /home/DALEX/

Comment demandé à ce que le fichier soit crée dans le repertoire d'execution ?

Sachant que je souhaiterais une solution MULTIPLATFORME

peut-être qu'en passant par une constante C...

Merci

DALEX
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Merci beaucoup UalShark

    on se log sur un terminal, direction le rep d'execution puis ./tonapp

    ça pette le feu !!! :-)

    salut et merci

    DALEX
    1. donc dès deux choses l'une ou bien
      FILE *test = fopen("/Xchange/Button/Bin/test", "w+");
      ou
      bien
      tu mets l'executable dans /Xchange/Button/Bin
      et tu l'execute apres un :
      cd /Xchange/Button/Bin
      ./ton_app
      1. re UaLShark

        La commande pwd me retourne /home/DALEX/

        Donc pour lui, c'est le repertoire courant, comment résoudre le problème ?

        merci
        1. L'appli se trouve dans /Xchange/Button

          là, j'ai le projet codeblocks et les sources, et dans /Xchange/Button/Bin, j'ai l'executable compilé

          mais quand tu execute direct avec codeblocks, ça passe, mais sans codeblocks, le fichier est attendue dans /home/DALEX/ alors qu'il devrait l'etre dans /Xchange/Buttons/bin

          en sachant que je voudrais n'utiliser que des chemins relatifs

          merci UaLShark

          DALEX
          1. Merci UaLShark, mais les deux points crashent le programme et le ./ me renvoie dans /home/DALEX/

            Quel est le souci ???

            DALEX
            1. dis DALEX, tu executes dans quel repertoire ton app?
              ./ton_app ?
              (avant tu lance l'execution pwd te retourne quoi?)
          2. bein c'est simple en win et linux y'a un truc qui est le meme dans la nomenclature des repertoires
            . (point) le repertoire courant
            .. (2 points) le repertoire parent
            donc en linux tu metteras
            FILE *test = fopen("./test", "w+");

            juste une chose linux te cree les fichiers de ton home si tu spécifie pas une chemin complet :-)