# Comment on joint des fichiers sous Xcode



## Orilion (1 Décembre 2011)

Bonjour,
             Mon programme lit est écrie dans des fichiers existant, avec gcc sa fonctionne bien.
Mais Xcode me retourne une erreur.

J'ai mis les fichiers dans productions dans un premier temps et sa me renvoie encore cette erreur:

GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug  8 20:32:45 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".
tty /dev/ttys001
[Switching to process 992 thread 0x0]
sharedlibrary apply-load-rules all
(gdb) 


Merci pour vos réponses.


----------



## ntx (1 Décembre 2011)

Orilion a dit:


> Mon programme lit est écrie dans des fichiers existant, avec gcc sa fonctionne bien.
> Mais Xcode me retourne une erreur.


Réfléchis voir deux secondes à ce que tu as écrit 


> J'ai mis les fichiers dans productions dans un premier temps et sa me renvoie encore cette erreur:
> 
> GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug  8 20:32:45 UTC 2011)
> Copyright 2004 Free Software Foundation, Inc.
> ...


Où vois-tu une erreur ?


----------



## Orilion (2 Décembre 2011)

Mon programme affiche sa :

******************Bienvenue dans le distributeur de billet******************

Veuillez saisir votre identifiant


Quand je le compile avec gcc et que j'exécute sur le terminal. Mais Xcode me renvoie pas le même résultat, j'ai joint les deux fichier annexé qui sont en .txt dans le dossier Production. Tu a bien constatais se qu'il me renvois.

Oui se n'est pas une erreur que le compilateur et l'éditeur de lien de renvois, mais une erreur d'exécution.

Je demande les paramétres a mettre pour que Xcode prenne en conte les fichier texte qu'on utilise avec les fonction fopen, fprint, fscan, ...

C'est un projet de classe, mais le prof ne connais pas Xcode.


----------



## Nyx0uf (2 Décembre 2011)

Parce que tes fichiers ne sont pas au même endroit que le binaire, c'est juste un problème de chemin.

Si fopen return NULL, perror(); affichera la cause


----------



## CathyGYM (2 Décembre 2011)

> Mon programme affiche sa :
> 
> ******************Bienvenue dans le distributeur de billet******************
> 
> ...



Et ton prof, à défaut de connaitre Xcode, il connait l'orthographe ???


----------



## Orilion (2 Décembre 2011)

CathyGYM a dit:


> Et ton prof, à défaut de connaitre Xcode, il connait l'orthographe ???



c'est pas une remarque qui peut aidé a résourdre  le problème.

Nyx0uf, je me doute que c'est un problème de chemin, mais comment on met les fichiers texte on met au même endroit que le binaire


----------



## ntx (2 Décembre 2011)

On peut commencer par utiliser des chemins absolus (depuis la racine), pas des chemins relatifs à la position de l'application. Dans ton cas ça devrait amplement te suffire.


----------



## tatouille (5 Décembre 2011)

```
static char * _smyprog_exec_path = NULL;

void myprog_set_exec_path(const char * path)
{
// main thread
  if (_smyprog_exec_path == NULL)
     _smyprog_exec_path = strdup(path);
}

char * myprog_exec_path(const char * path)
{
// will never change but you can use a barrier
     return _smyprog_exec_path;
}

int main(int argc, char *argv[])
{

      myprog_set_exec_path(argv[0]);

      return 0;
}

// maintenant a toi de broder dirname//basename/fopen is open? 
// (oui le path est relatif mais ca marche), 
// il y a plein d'autres solus pour avoir le fullpath at runtime mais ce 
// n'est pas cross-platform, donc commence par simple.

// tu pourrais aussi envisager que ton prog prenne les fichiers en argument 
ou le root ou se situe les fichiers
```


----------

