Probleme avec nom de fichier en C

Fermé
£udo Messages postés 455 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 19 décembre 2006 - 8 déc. 2005 à 14:46
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 - 8 déc. 2005 à 16:50
Salut, jai un souci avec mon programme. Jai une fonction qui me renvoie le mois et l'annee en cours et je mets ces variable en tant que nom de fichier :
char *nomdufichier()
{
char *nomfichier=NULL;
int m;
int a;


m=chopeMois();
a=chopeAnnee();

//printf("Mois est %d",m);
//printf("Annee est %d",a);


a=a-100;//on veut que le dernier chiffre donc on retire 100;
a=a+48;//on ajoute 48 pour 'convertir' (sinon affiche smiley)

if(m<10)
{
 nomfichier[0]='0';
 
}
else
{
 nomfichier[0]='1';
}
m=m-10;//on prend que le dernier chiffre donc on soustrait de 10
m=m+48;//on ajoute 48 pour 'convertir' (sinon affiche smiley)
nomfichier[1]=m;
nomfichier[2]='-';
nomfichier[3]='2';
nomfichier[4]='0';
nomfichier[5]='0';
nomfichier[6]=a;
nomfichier[7]='.';
nomfichier[8]='t';
nomfichier[9]='x';
nomfichier[10]='t';
nomfichier[11]='\0';//pour dire qu'on est bien à la fin 



//printf("Le nom du fichier est %s",nomfichier);

return nomfichier;

}


cette fonction marche bien a la fin jai bien un nom de fichier du style 12-2006.txt

Mais dans une autre fonction, quand je veux recuperer ce nom pour créer mon fichier ça mer**. Impossible de resoudre, je lance l'application et quand jarrive a la fonction ça plante et je fois fermer.
void ajouteeleve()
{


char n[LG]="";
system("cls");
n[LG]=nomdufichier();
//strcpy(n,nomdufichier());
printf("AJOUT D'UNE FICHE ELEVE\n\n");


printf("Le nom du fichier est %s",n);

jai beau testé ça marche pas. Comment faire svp ?
Merci d'avance de votre aide




(¯`·.¸¸.-> £udo <-.¸¸.·´¯)

1 réponse

nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
8 déc. 2005 à 16:50
char *nomdufichier()
{
char *nomfichier=NULL;
int m;
int a;


m=chopeMois();
a=chopeAnnee();

//printf("Mois est %d",m);
//printf("Annee est %d",a);


a=a-100;//on veut que le dernier chiffre donc on retire 100;
a=a+48;//on ajoute 48 pour 'convertir' (sinon affiche smiley)

if(m<10)
{
 nomfichier[0]='0';
 
}
else
{
 nomfichier[0]='1';
}
m=m-10;//on prend que le dernier chiffre donc on soustrait de 10
m=m+48;//on ajoute 48 pour 'convertir' (sinon affiche smiley)
nomfichier[1]=m;
nomfichier[2]='-';
nomfichier[3]='2';
nomfichier[4]='0';
nomfichier[5]='0';
nomfichier[6]=a;
nomfichier[7]='.';
nomfichier[8]='t';
nomfichier[9]='x';
nomfichier[10]='t';
nomfichier[11]='\0';//pour dire qu'on est bien à la fin 



//printf("Le nom du fichier est %s",nomfichier);

return &nomfichier;

void ajouteeleve()
{


char n[LG]="";
system("cls");
n[LG]=nomdufichier();
printf("AJOUT D'UNE FICHE ELEVE\n\n");


printf("Le nom du fichier est %s",n);
0