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
A voir également:

7 réponses

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
DALEX
 
Merci UaLShark, mais les deux points crashent le programme et le ./ me renvoie dans /home/DALEX/

Quel est le souci ???

DALEX
0
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
UaLShark Messages postés 193 Statut Membre 35
 
2 rien :-)
0