This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Bug reading floating point numbers in gcc 2.95.3-4
- To: "Cygwin" <cygwin at sources dot redhat dot com>
- Subject: Bug reading floating point numbers in gcc 2.95.3-4
- From: "Richard Stanton" <stanton at haas dot berkeley dot edu>
- Date: Sat, 19 May 2001 12:56:24 -0700
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