Odczyt z pliku i struktura danych

0

Witam. Jestem początkującym programistą i chcę napisać program, który umożliwi wczytanie danych zawartych w pliku tekstowym do określonej struktury.
Chodzi o coś takiego.
Mamy plik tekstowy o zawartości, załóżmy;
Jan Kowalski; 5; 12.12.2011;
i teraz wczytanie do struktury po kolei zawartych danych wiedząc, że ma dzielić po znaku ";" (w C# nie jest to problemem ze względu na funkcję slplit, czy jest jakiś odpowiednik w C++ ?)
struct osoba{
char[50];
float ocena;
float data;
}osoba;
Czyli do char wczyta Jan Kowalski, następnie do float ocena liczbę 5, a do float data 12.12.2011.
Do tej pory próbowałem walczyć z funkcją getline(), jednak operuje ona na stringach i nie da się wpisywać jej wartości do zmiennej, która nie jest stringiem i nie wiem jak sobie z tym poradzić. Proszę o pomoc.

0

Po pierwsze takiej daty do float nie wczytasz, chyba ze chcesz usunąć kropki ale to pewnie mija się z celem ? nie lepiej trzymać date w stringu ?

Możesz wczytać do string właśnie przez getline i ewentualnie później rzutować na char[].

Możesz równiej napisać własną funkcje split, nie jest jakaś mega skomplikowana nawet dla początkującego...(wujek google)

0

Zczytujesz, aż do średnika. Dodajesz znaki do string'a i ze string'a rzutujesz na co chcesz.

0

Za bardzo kombinujecie, lepiej się trzymać zasady KISS

struct osoba
{
    char nazwisko[50];
    float ocena;
    char data[11]
};

//zakładając, że in to jest strumień z pliku i jego zawartość jest dokładnie taka jak podałeś w przykładzie
osoba os;
in.getline(os.nazwisko, 50, ';');
in >> os.ocena;
in.ignore(2);
in.getline(os.data, 11, ';');

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