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

Parsowanie zawartości pliku

Object Storage Arubacloud
0 głosów
1,577 wizyt
pytanie zadane 26 sierpnia 2017 w C i C++ przez Munvik Dyskutant (9,350 p.)

Cześć. Potrzebuje napisać sobie parser, który mi odczyta z pliku .txt / .ini dane i zapisze je do zmiennych.

Plik przyjmuje postać mniej więcej taką

[Resolution] 1280 720
[Volume] 10
//reszta

I w razie zmiany żeby zamienił te dane na te wybrane w apce.

Jak za takie coś się zabrać ?

komentarz 26 sierpnia 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
wyrazenia regularne, petla, if
komentarz 26 sierpnia 2017 przez Ehlert Ekspert (212,670 p.)

1 odpowiedź

+1 głos
odpowiedź 26 sierpnia 2017 przez j23 Mędrzec (194,920 p.)

Prościej, bez użycia sugerowanych wyrażeń regularnych, można zrobić tak:

using svec_type = vector<string>;
using param_type = pair<string, svec_type>;

ifstream is(...);

string line;

vector<param_type> parameters; // <--- tu będziesz miał przeczytane parametry

while(getline(is, line))
{
	istringstream iss(move(line));
	string name;
	
	while(iss >> name)
	{
		if(name.front() != '[' || name.back() != ']') break;

		svec_type v;

		copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(v));
		
		parameters.emplace_back(make_pair(move(name), move(v)));
	}
}

// wyświetlanie
for(auto p : parameters)
{
	cout << p.first << '\n';
	for(auto v : p.second)
		cout << '\t' << v << '\n';
}

 

komentarz 26 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)

Muszę troche popytać

using svec_type = vector<string>;

To to samo co

typedef vector<string> svec_type;

?

komentarz 26 sierpnia 2017 przez j23 Mędrzec (194,920 p.)

Tak. Choć using ma większe możliwości.

Podobne pytania

0 głosów
0 odpowiedzi 193 wizyt
+1 głos
2 odpowiedzi 437 wizyt
pytanie zadane 12 listopada 2022 w Python przez Giacomo Nowicjusz (200 p.)
0 głosów
0 odpowiedzi 69 wizyt
pytanie zadane 21 maja 2020 w Inne języki przez overcq Pasjonat (21,650 p.)

92,551 zapytań

141,393 odpowiedzi

319,524 komentarzy

61,936 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!

...