• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wzorce oraz sposobu czytania plików i operacje na plikach - porady

Object Storage Arubacloud
0 głosów
222 wizyt
pytanie zadane 17 grudnia 2016 w C i C++ przez programmero Bywalec (2,420 p.)

Siemka przychodzę z pytaniem odnośnie operacji na plikach :) Czy zna ktoś z was materiały które poruszają tematykę czytania plików o określonym wzorcu? Powiedzmy mam plik txt wypełniony danymi, mniej więcej taki jak poniżej.

Jan Kierowniczak, 17 12 1980, Kierownik
Katarzyna Handlowska, 21 03 1986, Handlowiec
Andrzej Programistyczny, 01 11 1983, Programista

i tak dalej...

I chciałbym w magiczny sposób go przeczytać i na podstawie danych z każdego wiersza utworzyć obiekt danego pracownika :) Ktoś coś?

2 odpowiedzi

+1 głos
odpowiedź 17 grudnia 2016 przez adrian17 Ekspert (344,860 p.)

określonym wzorcu?

Zależy od "wzorca".

W przypadku który dałeś to zwykły CSV, więc wystarczy użyć bibliotekę (wbudowaną lub nie) do obsługi plików CSV. (alternatywnie podzielić linie po przecinkach, jeśli masz pewność że nie będzie jakiś podchwytliwych danych).

komentarz 17 grudnia 2016 przez programmero Bywalec (2,420 p.)

Właśnie chcę pojedynczy wiersz zapisać w taki sposób aby wypełnił obiekt klasy "Pracownik". Czyli każdą część wiersza powinien umieścić w buforze, a później stworzyć obiekty. Pytanie w jaki sposób mogę wykrywać, że pierwsze 2 wyrazy to odpowiednio imię i nazwisko, po przecinku jest 3-elementowa data urodzenia, a po ostatnim przecinku stanowisko :)

class Employee
{
private:
  string name;
  string surname;
  size_t day;
  size_t month;
  size_t year;
  string position;
public:
...
};

 

komentarz 17 grudnia 2016 przez adrian17 Ekspert (344,860 p.)
Dziel linię po przecinku i z każdą częścią rób co chcesz.

Alternatywnie, waliduj / parsuj każdą linię jakimś prostym regexem.
komentarz 18 grudnia 2016 przez programmero Bywalec (2,420 p.)
Czy mógłbyś podać jakiś przykład ewentualnie stronę gdzie mógłbym poczytać jak w ogóle zabrać się za czytanie pojedynczego wiersza? Nie za bardzo wiem w jakim kierunku szukać tego zagadnienia, za mało jeszcze wiem.
0 głosów
odpowiedź 17 grudnia 2016 przez operator Stary wyjadacz (10,920 p.)

To jest dosyć dobre narzędzie: http://www.antlr.org/

komentarz 17 grudnia 2016 przez adrian17 Ekspert (344,860 p.)
(rzadko kiedy ludzie pakują do plików dane w formacie tak złożonym, że wymaga opisu w BNFie ;) )
komentarz 17 grudnia 2016 przez programmero Bywalec (2,420 p.)
Niekoniecznie o to mi chodziło, ponieważ szukam algorytmu w C++ :) Nie wiem jakieś biblioteki, albo materiały, które opisują jak w ogóle podejść to tematu.

Podobne pytania

0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 25 grudnia 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
3 odpowiedzi 2,046 wizyt
pytanie zadane 14 stycznia 2017 w C i C++ przez Gapsiu Nowicjusz (140 p.)
+1 głos
1 odpowiedź 1,235 wizyt
pytanie zadane 6 września 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...