Chemin d'accès Linux/Win32

DALEX -  
UaLShark Messages postés 193 Statut Membre -
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

  1. UaLShark Messages postés 193 Statut Membre 35
     
    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 :-)
    0
  2. DALEX
     
    Merci UaLShark, mais les deux points crashent le programme et le ./ me renvoie dans /home/DALEX/

    Quel est le souci ???

    DALEX
    0
    1. UaLShark Messages postés 193 Statut Membre 35
       
      dis DALEX, tu executes dans quel repertoire ton app?
      ./ton_app ?
      (avant tu lance l'execution pwd te retourne quoi?)
      0
  3. DALEX
     
    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
    0
  4. DALEX
     
    re UaLShark

    La commande pwd me retourne /home/DALEX/

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

    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. UaLShark Messages postés 193 Statut Membre 35
     
    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
    0
  7. DALEX
     
    Merci beaucoup UalShark

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

    ça pette le feu !!! :-)

    salut et merci

    DALEX
    0
  8. UaLShark Messages postés 193 Statut Membre 35
     
    2 rien :-)
    0