Mail Archives: cygwin/2001/05/19/17:43:31
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
- Raw text -