Probleme avec nom de fichier en C

£udo Messages postés 455 Statut Membre -  
nauno Messages postés 342 Statut Membre -
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

  1. nauno Messages postés 342 Statut Membre 60
     
    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