Petit probleme de code en C sur Linux !!

UncleShu Messages postés 24 Date d'inscription mardi 29 janvier 2002 Statut Membre Dernière intervention 26 juillet 2002 - 26 juin 2002 à 17:14
UncleShu Messages postés 24 Date d'inscription mardi 29 janvier 2002 Statut Membre Dernière intervention 26 juillet 2002 - 2 juil. 2002 à 16:59
Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DIR $HOME+"/xavier"

FILE *file;

int main()
{
printf("Crée un fichier \'xavier\' dans le répertoire \'$HOME\' !!\n" );

file = fopen(DIR,"w+" );

if(file != NULL)
{
printf("Fichier copié !!\n" );
}
else
{
printf("Erreur \n" );
}
printf("%s\n",DIR);
return 0;
}

Merci d'avance !!

2 réponses

ADPro22 Messages postés 126 Date d'inscription mercredi 18 juillet 2001 Statut Membre Dernière intervention 27 octobre 2004
29 juin 2002 à 15:55
C'est à dire que tu n'a pas le droit de faire $HOME+"/xavier".
La concaténation en C ne se fait pas avec '+' !
mais strcat
0
UncleShu Messages postés 24 Date d'inscription mardi 29 janvier 2002 Statut Membre Dernière intervention 26 juillet 2002
2 juil. 2002 à 16:59
Merci mais je le savais !!

En faites, il n'interprete pas mon $HOME, il me renvoie $HOME au lieu de /home/fox

Ex :

#define DIR "$HOME/xavier"
0
Rejoignez-nous