Lord_Brainbug
Grünschnabel
Hallo Allerseits,
das hier ist mein erster Post, daher bitte ich um Nachsicht, falls ich bestehende Formatierungsregeln noch nicht kenne.
Ich programmiere in C. Ziel ist es die Knotenpunkte eines Bauteils aus einer Textdatei einzulesen, um diese später verändern zu können.
Das Textdokument hat den folgenden Aufbau:
3 5 4 30 0 #Programmname
1 6 0.000000E+000 0.000000E+000 0.000000E+000
2 6 2.000000E+000 0.000000E+000 0.000000E+000
3 6 0.000000E+000 2.000000E+000 0.000000E+000
4 6 0.000000E+000 1.000000E+000 0.000000E+000
5 6 1.000000E+000 0.000000E+000 0.000000E+000
1 2
3 4
2 2
1 4
3 2
1 5
4 2
2 5
Die erste Zeile möchte ich ignorieren.
In Zeilen 2 - 6 stehen in Spalte 3 - 5 meine X-, Y- und Z-Koordinaten, diese möchte ich einlesen um damit später zu arbeiten.
Die Restlichen Zeilen geben den Aufbau der Elemente an, diese möchte ich ebenfalls ignorieren.
Ich bin so weit, dass ich das ganze in ein Double-Array einlesen kann (Wenn ich den Dateinamen in Zeile 1 händisch vorher entferne) und dann die einzelnen Werte in diesem Array aufrufe. Allerdings funktioniert das nur für genau diese Struktur, für größere Strukturen müsste ich das neu anlegen.
Ich suche also nach einer Schleife, die ein Array für mich füllt.
Mein Code bis jetzt (Dateiname händisch entfernt und zum test gebe ich die zu verwendenden Werte auf die Konsole aus):
Später sollte man die Größe des Arrays via Malloc/Calloc einstellen (dazu gibt es einiges online, das sollte ich hinbekommen), mir geht es erstmal um das auslesen der Koordinaten.
Vielen Dank
Brainbug
das hier ist mein erster Post, daher bitte ich um Nachsicht, falls ich bestehende Formatierungsregeln noch nicht kenne.
Ich programmiere in C. Ziel ist es die Knotenpunkte eines Bauteils aus einer Textdatei einzulesen, um diese später verändern zu können.
Das Textdokument hat den folgenden Aufbau:
3 5 4 30 0 #Programmname
1 6 0.000000E+000 0.000000E+000 0.000000E+000
2 6 2.000000E+000 0.000000E+000 0.000000E+000
3 6 0.000000E+000 2.000000E+000 0.000000E+000
4 6 0.000000E+000 1.000000E+000 0.000000E+000
5 6 1.000000E+000 0.000000E+000 0.000000E+000
1 2
3 4
2 2
1 4
3 2
1 5
4 2
2 5
Die erste Zeile möchte ich ignorieren.
In Zeilen 2 - 6 stehen in Spalte 3 - 5 meine X-, Y- und Z-Koordinaten, diese möchte ich einlesen um damit später zu arbeiten.
Die Restlichen Zeilen geben den Aufbau der Elemente an, diese möchte ich ebenfalls ignorieren.
Ich bin so weit, dass ich das ganze in ein Double-Array einlesen kann (Wenn ich den Dateinamen in Zeile 1 händisch vorher entferne) und dann die einzelnen Werte in diesem Array aufrufe. Allerdings funktioniert das nur für genau diese Struktur, für größere Strukturen müsste ich das neu anlegen.
Ich suche also nach einer Schleife, die ein Array für mich füllt.
Mein Code bis jetzt (Dateiname händisch entfernt und zum test gebe ich die zu verwendenden Werte auf die Konsole aus):
C:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main (void)
{
FILE *f_from;
int i;
double dtest[1000];
f_from = fopen("structure_test.txt", "r");
if(f_from == NULL) {printf("Datei 1 konnte nicht geoeffnet werden.\n");
exit(1);}
for(i=0;i<100;i++)
fscanf(f_from,"%lf", &dtest[i]);
printf("%lf\n%lf\n%lf\n", dtest[7], dtest[8], dtest[9]);
printf("%lf\n%lf\n%lf\n", dtest[12], dtest[13], dtest[14]);
printf("%lf\n%lf\n%lf\n", dtest[17], dtest[18], dtest[19]);
printf("%lf\n%lf\n%lf\n", dtest[22], dtest[23], dtest[24]);
printf("%lf\n%lf\n%lf\n", dtest[27], dtest[28], dtest[29]);
fclose(f_from);
return(0);
Später sollte man die Größe des Arrays via Malloc/Calloc einstellen (dazu gibt es einiges online, das sollte ich hinbekommen), mir geht es erstmal um das auslesen der Koordinaten.
Vielen Dank
Brainbug