Bug reading floating point numbers in gcc 2.95.3-4
Richard Stanton
stanton@haas.berkeley.edu
Sat May 19 12:56:00 GMT 2001
The fscanf function in gcc 2.95.3-4 seems to ignore the decimal point in
floating point input fields. For example, create a file containing just the
following two numbers, say test.prn:
26.28 2.34
Now compile and run the following program (testread.c):
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char fileName[] = "test.prn";
double input1, input2;
int main(int argc, char *argv[])
{
FILE *fpin0;
if (((fpin0 = fopen(fileName, "r")) != NULL) &&
(fscanf(fpin0, "%lf %lf", &input1, &input2) == 2)) {
printf("Input line = %15.7f %15.7f\n", input1, input2);
} else printf("Error\n");
return 0;
}
and this is what happens:
c:\projects\leases>gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-4/specs
gcc version 2.95.3-4 (cygwin special)
c:\projects\leases>gcc -o testread testread.c
c:\projects\leases>testread
Input line = 2628.0000000 234.0000000
The numbers were read as if they had no decimal points in them. This doesn't
help with the execution of my code...
Is there something wrong with my gcc setup, did I make an error in my code,
or is this a bug?
Thanks.
Richard Stanton
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list