Probleme de compilation

Résolu
didy_gwatinik Messages postés 352 Date d'inscription   Statut Membre Dernière intervention   -  
 didy_gwatinik -
Bonjour,
Je suis sur un projet depuis un petit moment déjà et j'ai un problème de compilation que je n'arrive pas à résoudre. J'obtiens l'erreur suivante : invalid conversion from `int' to `const char*' et initializing argument 2 of `int fprintf(FILE*, const char*, ...)'
Je vous explique dans mon code, je souhaite mettre le contenu des variables dans un fichier ici pas de souci mais le problème se présente quand je veux faire l'inverse. Je vous mets un morceau de mon code là ou j'obtiens l'erreur :
Voile l'appel à la fonction :
 enregistrement(&nbContact);

La fonction en elle même
void enregistrement(int *nbContact)
{
     FILE *fichier = NULL;
     int i=0;
     fichier=fopen(chemin,"w"); //w pour ecraser l'ancien enregistrement
     if (fichier != NULL)
     {
                 fprintf(fichier,*nbContact);
                 fprintf(fichier,"\n");
                 for(i=0;i<*nbContact;i++)
                 {
                                           fprintf(fichier,tab[i].nom);
                                           fprintf(fichier,"\n");
                                           fprintf(fichier,tab[i].prenom);
                                           fprintf(fichier,"\n");
                                           fprintf(fichier,tab[i].numTel);
                                           fprintf(fichier,"\n");
                                           fprintf(fichier,tab[i].mel);
                                           fprintf(fichier,"\n");
                                           fprintf(fichier,tab[i].motdepasse);
                                           fprintf(fichier,"\n");
                 }
     }
     fclose(fichier);
}

1 réponse

kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Hello,

Pour fprintf:
int fprintf (FILE *stream, const char *format, ...);

Donc si tu mets autre chose qu'une chaine de caractère dans format, ça va coincer.

Exemple, ça:
fprintf(fichier,*nbContact);

Devrait être:
fprintf(fichier,"%d", *nbContact);
1
didy_gwatinik
 
Ah oui, en effet ca compile! Merci beaucoup!
0