[C++] Odczyt z pliku .txt

0

Witam wszystkich.

W pliku tekstowym znajdują się dane, które chciałbym wczytać do programu w c++.
Poniżej prezentuję zawartość tego pliku.

Parametry linii zasilających:

             Nazwa linii | MIK  | JOU   | KAR   | ELB  |

           Długość linii | 150  | 100   | 120    | 60   | 
     Rezystancja linii | 0,17 | 0,073 | 0,052 | 0,03 |

Pobierana moc czynna | 30 | 35 | 45 | 70 |
cos fi | 0,7 | 0,6 | 0,72 | 0,68 |
Pobierana moc bierna | 30 | 46,5 | 42 | 75 |

Chciałbym aby do tabeli (float parametry[5][4]) zostały wczytane wyłącznie wartości liczbowe zawart w tym pliku.
Niestety nie wiem jak to zrobić. Nie potrafie napisać tak kodu aby omijał wyrazy i znaki |.
Ztąd też kieruje do was swoją prośbę, abyście jeśli jest to możliwe pomogli mi.

0

@szlagi123 naprawdę miałem już odpalić VS i Ci to zakodzić, ale jak obaczyłem "Ztąd", stwierdziłem, że nie.. Jak chcesz, to mogę Ci to napisać jako zlecenie..
A moja podpowiedź:
Zrób sobie jakąś funkcje która zwraca true gdy napotka na cyfrę, czytaj dopóki w buforze są cyfry i tyle..
P.S w załączniku masz exe, do działającego parsera.. Jak chcesz, kod to pisz na priva..

0
FILE* f = fopen("nazwa.txt","r");
char tekst[1000];
while (fscanf(f,"%s",tekst)==1)
 {
  // tutaj jesli potrzeba to powinienes zamienic wszystkie przecinki na kropki
  char* p = tekst;
  while (*p)
   {
    if (*p==',') *p = '.';
    p++;
   }
  float f;
  if (sscanf(tekst,"%f",&f)==1)
    printf("liczba: %f\n",f);
 }
fclose(f);

skompilowalem, sprawdzilem, wydaje sie ok.

0
krwq napisał(a)
FILE* f = fopen("nazwa.txt","r");
char tekst[1000];
while (fscanf(f,"%s",tekst)==1)
 {
  // tutaj jesli potrzeba to powinienes zamienic wszystkie przecinki na kropki
  char* p = tekst;
  while (*p)
   {
    if (*p==',') *p = '.';
    p++;
   }
  float f;
  if (sscanf(tekst,"%f",&f)==1)
    printf("liczba: %f\n",f);
 }
fclose(f);

skompilowalem, sprawdzilem, wydaje sie ok.

Wielkie dzięki za odpowiedź :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1