C. Wczytywanie liczb z pliku do tablicy

Awatar użytkownika
escargot
Użytkownik
Użytkownik
Posty: 477
Rejestracja: 30 paź 2007, o 17:35
Płeć: Mężczyzna
Lokalizacja: 52°N, 21°E
Podziękował: 14 razy
Pomógł: 143 razy

C. Wczytywanie liczb z pliku do tablicy

Post autor: escargot »

Witam,

Chcę napisać program w języku C, który wczytuje dane z pliku.

Ma on wczytywać współrzędne wektorów znajdujących się w pliku np: 2,3 ; -3,4.99; Więc mógłby przykładowo wczytywać co drugą liczbę, zaczynając od pierwszej znalezionej, do tablicy intów tabx[], a pozostałe do taby[]. Nie jest znana liczba wektorów, więc wymaga to zapewne dynamicznego zaalokowania pamięci. W kodzie przydałoby się jakieś sprawdzanie, tak żeby program ignorował tekst czy inne znaki i żeby prawidłowo interpretował minus. (wystarczy atoi?)

Jestem początkujący w c, i napisanie tego kodu sprawia mi duże problemy, a jednocześnie zdaję sobie sprawę, że na pewno ktoś z was pisał kiedyś podobny program i mógłby się podzielić kodem.
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

C. Wczytywanie liczb z pliku do tablicy

Post autor: soku11 »

Ogólnie nie wiem czemu do pliku nie podajesz bezpośrednio samych liczb po białych znakach, no ale zakładam, że to wymaganie projektowe.
Ogólnie, to najlepiej wczytywać funkcją getline z ustawionym odpowiednio delimiterem na ',' i ';'. I jak pobierzesz, to sobie ustalasz do której tablicy zapisywać (zakładam, że taki musisz mieć format wyjściowy). Wczytany ciąg traktujesz funkcją atof (nie atoi) żeby zapisać jako zmienną typu float. I rzeczywiście wymaga to dynamicznej allokacji i pewnie reallokacji pamięci (chyba, że masz na początku ilość par).

Pozdrawiam.
ODPOWIEDZ