Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- file.txt:
- ---------
- NebulaIII uranerc 400 33 43.6 3.4
- Syrius plutonium 500 85.4 53 40
- Vulcan ragogumi 300 62 34 98
- Fold terfogatnoveloszer 200 640 321 103
- */
- #include <stdio.h>
- #include <stdlib.h>
- /* A táblázat egy sorának struktúrája ("a cellák") */
- struct AROW {
- char value1[20];
- char value2[20];
- float value3;
- float value4;
- float value5;
- float value6;
- };
- struct AROW **table; //A táblázat - 2 dimenziós dinamikus tömb
- void main () {
- int row = 0; //Sorok száma
- int retval; //A file egy sorának beolvasáskor visszaadott érték.
- int i;
- static const char filename[] = "file.txt"; //A megnyitandó állomány neve
- FILE *file = fopen (filename, "r"); //Fájl megnyitása olvasásra
- /* Ha sikerült megnyitni */
- if (file != NULL) {
- table = (struct AROW **) realloc(table, (row+1) * sizeof(struct AROW *)); //Táblázat memóriában való helyfoglalásának frissítése
- table[row] = (struct AROW *) malloc(sizeof(struct AROW)); //A táblázat egy sorának memóriában való helyfoglalása
- retval = fscanf (file,"%s %s %f %f %f %f", table[row]->value1, table[row]->value2, &table[row]->value3, &table[row]->value4, &table[row]->value5, &table[row]->value6 ); //Egy sor beolvasása
- row++;
- //Újabb sorokat olvasunk be addig, míg az állomány végéhez érünk
- while (retval != EOF) {
- table = (struct AROW **) realloc(table, (row+1) * sizeof(struct AROW *));
- table[row] = (struct AROW *) malloc(sizeof(struct AROW));
- retval = fscanf (file,"%s %s %f %f %f %f", table[row]->value1, table[row]->value2, &table[row]->value3, &table[row]->value4, &table[row]->value5, &table[row]->value6 );
- row++;
- }
- fclose (file);
- /* Ha nem sikerült megnyitni */
- } else {
- printf ("Hiba az állomány megnyitásakor !\n");
- }
- /* Kiíratás */
- for (i=0; i<(row-1); i++) {
- printf ("%s %s %f %f %f %f\n", table[i]->value1, table[i]->value2, table[i]->value3, table[i]->value4, table[i]->value5, table[i]->value6 );
- }
- free (table); //Memória felszabadítása
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement