Witam,
Problem polega na tym chcę aby program pobierał każdy wiersz osobno i przeszukiwał w poszukiwaniu danego znaku. O ile z pierwszym wierszem nie ma problemu o tyle nie wiem jak sprawić żeby getline pobierał np 2 czy 3 wiersz. To co już zrobiłem:
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std;
int main(){
int a=0;
fstream plik( "we.txt", std::ios::in ); //zakładamy, że plik istnieje
string dane;
string platinium ("P");
string gold ("G");
string silver ("S");
size_t found;
getline( plik, dane ); //wczytanie CAŁEGO jednego wiersza danych
cout << dane << endl;
found=dane.find(platinium);
if (found!=string::npos){
cout << "Linia 1 na pozycji " << int(found) << endl;
a+=1;}
else
cout << "to nie platinium" << endl;
found=dane.find(gold);
if (found!=string::npos){
cout << "Linia 2 na pozycji " << int(found) << endl;
a+=1;}
else
cout << "to nie gold" << endl;
found=dane.find(silver);
if (found!=string::npos){
cout << "Linia 3 na pozycji " << int(found) << endl;
a+=1;}
else
cout << "to nie silver" << endl;
cout << endl;
cout << endl;
cout << "Linia " << a << endl;
cout << dane << endl;
getch();
return 0;
}
Czyli np plik we.txt wygląda tak:
P 1 60
G 1 15
S 1 120
S 1 300
I o ile
P 1 60
jest oczywiste o tyle nie wiem jak sprawić aby getline pobrał:
G 1 15
PS.wiem że kod jest na razie jest nieefektywny bo operacje się powtarzają ale to taki wstępny szkic póki co.