[C]Pourquoi ce commentaire est faux ?
Bonjour,
est-ce que quelqu'un pourrait m'expliquer pourquoi ce commentaire est faux ?
Merci
est-ce que quelqu'un pourrait m'expliquer pourquoi ce commentaire est faux ?
/*Write 6 integers to a disk file*/
void put_rec(int rec[6], FILE *fp)
{
int len;
len = fwrite(rec, sizeof rec, 1, fp);
if(len != 1) printf("write error");
}
Merci
3 réponses
-
salut
le problème ne vient-il pas de là ??
if(len != 1) printf("write error");
vu que la longueur sera d'office différente de "1", il y aura erreur ...
-
Il faut surtout corriger cette ligne :
len = fwrite(rec,sizeof(int),6, fp);
Tu devrait mettre un retour à la ligne à la fin du message d'erreurif(len!=6) printf("write error\n");
Bonne chance-
En parametre de la fonction, on a un
int rec[6]
doncsizeof(rec)
est censé donné 6*taille d'un int
la ligne :len = fwrite(rec, sizeof(rec), 1, fp);
devrait donc écrire dans fp 1 bloc de 6 entiers.
Je ne comprends pas très bien pourquoi vous modifier complètement le fwrite de l'énoncé et aussi pourquoi le commentaire est faux
Si quelqu'un pouvait m'expliquer ?
-
-
Pour moi sizeof prend un paramètre un type et pas une variable. Le commentaire est juste je ne sais pas ce qui te fait dire qu'il est faux. Par ailleurs je suppose que tu n'as pas mis tout ton programme car il n'y a pas de main. Si tu ne l'as pas encore écrit il faut le faire...
Bonne chance