ifstream getline -wczytanie linii, pomijając niektóre z odpowiednim znakiem.

0

Witam
Czy jest możliwość wczytania danych z pliku tekstowego za pomocą ifstream getline, ale tylko i wylacznie linie ktore nie znajduja sie za jakimś tam znakiem?
Dajmy na to, ze mamy plik o zawartości:

Przykladowy tekst, przykladowy tekst, przykladowy tekst.
Przykladowy tekst2, przykladowy tekst2, przykladowy tekst2.
1Przykladowy tekst3, przykladowy tekst3, przykladowy tekst3.
1Przykladowy tekst4, przykladowy tekst4, przykladowy tekst4.

Zostaną wczytane tylko i wyłącznie dwie pierwsze linijki, a te linijki rozpoczynające się znakiem 1 zostaną pominięte.
Jeżeli jest taka możliwość to prosiłbym o odpowiedź ;)

0

Co masz na myśli przez pominięte? Żeby przejść do następnej linii i tak musisz 'przetworzyć' linijkę poprzednią, więc możesz ją wczytać, ale po prostu olać jeśli pierwszy znak będzie np. 1

0

Pierw sprawdzasz czy początek linii nie jest tym znakiem czyli np. metodą istream::get();i jak nie jest to dajesz getline'a inaczej się nie da samym getline'em.

1

string line;

while (getline(cin,line))
  {
    if (!line.size() || (line[0]>='0' && line[0]<='9'))
      continue;
    // tutaj cos wykonujesz na line
  }
0
krwq napisał(a)

string line;

while (getline(cin,line))
  {
    if (!line.size() || (line[0]>='0' && line[0]<='9'))
      continue;
    // tutaj cos wykonujesz na line
  }

Dziękuję bardzo za ten kod, właśnie o to mi chodziło.

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