Hallo, das folgende ist Teil einer Leseroutine (eine kleine Tabelle wird eingelesen, siehe unten) eines großen Datenanalysepacketes. Es hat sich gezeigt, daß die Leseroutine stand-alone funktioniert, nicht aber wenn sie ins Gesamtpacket integriert wird. In beiden Fällen gibt es keine Compiler-Errors. Hat irgendjemand von euch schon einmal ein ähnliches Problem gehabt? Kann es eventuell etwas mit der gcc library zu tun haben? Danke im voraus Gunter Laky ------------------------------ #include <stdio.h> int main() { double G_0[11][11]; double H_0[11][11]; double G_dT[11][11]; double H_dT[11][11]; double year_0; float read_yr; float x1, x2, x3, x4; int MaxTerm; int m, n; long retcode; FILE *fp; fp = fopen("/home/ikushino/QSAS/config/MagModelsMAH/dgrf80.mdt", "r"); fscanf(fp," %f,%d ", &read_yr, &MaxTerm); year_0 = (double) read_yr; G_0[0][0] =0; H_0[0][0] =0; G_dT[0][0]=0; H_dT[0][0]=0; while( (retcode= fscanf(fp," %d %d %g %g %g %g ", &m, &n, &x1, &x2, &x3, &x4)) != EOF){ printf("%d %d %f %f %f %f\n", m, n, x1, x2, x3, x4); if (retcode == 0) break; G_0[m][n] = (double) x1; H_0[m][n] = (double) x2; G_dT[m][n]= (double) x3; H_dT[m][n]= (double) x4; } if (m != MaxTerm || n != MaxTerm) printf("BAD_MDT_FILE\n"); fclose(fp); } -------------------------- THE FIRST 10 LINES OF THE FILES TO READ 1980,10 0 1 -29992.0 0.0 23.8 0.0 1 1 -1956.0 5604.0 10.2 -20.8 0 2 -1997.0 0.0 -15.0 0.0 1 2 3027.0 -2129.0 3.4 -13.6 2 2 1663.0 -200.0 4.8 -21.2 0 3 1281.0 0.0 3.0 0.0 1 3 -2180.0 -336.0 -5.6 5.2 2 3 1251.0 271.0 -0.8 2.6 3 3 833.0 -252.0 -0.8 -9.0 DI Gunter Laky Austrian Cluster Data Center Institut für Weltraumforschung Österreichische Akademie der Wissenschaften Schmiedlstraße 6 A-8042 Graz, Austria Voice +43 316 4120-532 Fax +43 316 4120-590 Email Gunter.Laky@oeaw.ac.at
Gunter Laky wrote:
Hallo,
das folgende ist Teil einer Leseroutine (eine kleine Tabelle wird eingelesen, siehe unten) eines großen Datenanalysepacketes. Es hat sich gezeigt, daß die Leseroutine stand-alone funktioniert, nicht aber wenn sie ins Gesamtpacket integriert wird. In beiden Fällen gibt es keine Compiler-Errors.
Hat irgendjemand von euch schon einmal ein ähnliches Problem gehabt? Kann es eventuell etwas mit der gcc library zu tun haben?
Wenn Du uns nun noch verraten würdest, was schief läuft? Welche glibc-Version, welche SuSE bzw. welches OS, welcher Compiler usw.? Ansonsten gibt es zwar eine libgcc, doch glaube ich ehe, dass Du dich vielmehr auf glibc2 beziehst.
Danke im voraus Gunter Laky Meine Glasskugel sagt: locale, i18n, l10n. Siehe man setlocale, locale und info gettext usw. usf.
[Vermutung: Eine deiner Libs ist internationalisiert, d.h. sorgt dafür, dass dein Prog.(LC_MONETARY) Floats in de_DE-Darstellung erwartet (123,34), deine Daten kommen aber in "Nicht-de_DE"-Locale-Format daher (123.34).] Gruss Ralf
participants (2)
-
Gunter Laky
-
Ralf Corsepius