ファイルを作成するために使用しています(したがって、バイナリモードtmpfile()
で自動的に開かれます)。次に、 で
いくつか書き込みます。これらはすべて > 0 です。floats
fwrite()
floats
問題は、これらの値 (>0) を で読み取ろうとするとfread()
、負の値が返されることです!
私が書いた値out[i][j][couche]
は問題ありません (定義上、値が 0 未満になることはありません)。問題は最後(fread
)です。
void flou_bis (FILE * fp, PIXRVB **out, PIXRVB **in, int np, int nl, int rayon, int couche){
int i,j,k,l,nb;
float ret1, ret2;
float rCouche;
/* Other things not relevant..
(process the values of array out[][][] ...)*/
for (i=0; i<nl; i++)
{
for (j=0; j<np; j++)
{
fwrite ( &(out[i][j][couche]) , sizeof(float), 1, fp);
}
}
rewind(fp);
/*fsync(fp); // Useless
rewind(fp);*/
printf("%d float read\n", fread ( &ret2, sizeof(float), 1, fp)); /*Here is the problem!!! */
printf("%f\n", ret2);
}