Envoyé par
f56bre
Je sais que je propose ici un code quelque peu simplifié. Cependant j'ai bien inclut le stdio.h et je teste bien l'ouverture du fichier avec une sortie de la fonction en cas d'erreur. Voici le code complet de la fonction. Comme vous pouvez le voir je n'utilise pas le paramètre, je créé un nom de fichier dans la fonction, et comme vous pouvez le voir cette fonction semble sortie tout droit d'un exemple de cours de C.
Ceci fonctionne (je ne sais pas pourquoi il est si difficile d'obtenir du code compilable et testable... personne ne sait donc ce qu'est un test unitaire ?):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int dummy;
}
ContenuFichier;
int RempliFichierBinaire (const ContenuFichier * contenuFichier)
{
const char *nomFichier = "fichierbinaire.ppm";
FILE *fichier = NULL;
fichier = fopen (nomFichier, "wb");
if (fichier == NULL)
return 1;
fprintf (fichier, "P5\n256 256\n255\n");
fclose (fichier);
return 0;
}
int main (void)
{
const contenuFichier =
{
0
};
int err = RempliFichierBinaire (contenuFichier);
if (err)
{
puts ("erreur");
}
return 0;
} |
et j'obtiens un fichier contenant ceci :
soit en hexa :
00000000h: 50 35 0A 32 35 36 20 32 35 36 0A 32 35 35 0A ; P5.256 256.255.
Ce qui me parait tout à fait conforme aux attentes.
Partager