Edycja pliku .txt
Ostatnio zmodyfikowano 2017-05-22 20:22
Arget512 Temat założony przez niniejszego użytkownika |
Edycja pliku .txt » 2017-05-22 20:22:57 Witam. W programie który piszę chciałbym uzyskać, aby mając plik tekstowy w postaci " facetnormal 1 2 3 outerloop vertex 3 2 1 vertex 2 3 1 vertex 2 1 0 endloop endfacet facetnormal 0 0 1 outerloop vertex 3 2 1 vertex 2 3 1 vertex 2 1 0 endloop endfacet" program sprawdzał czy któraś z wartości przy "facetnormal" jest równa zero. Jeśli tak, to zostawia 6 linijek (do kolejnego "faceta") i sprawdza od nowa. Jeśli nie to usuwa 6 linijek i sprawdza dalej. Problem stanowi dla mnie fakt, że linijki nie mają tej samej postaci. Do tej pory napisałem coś takiego. bool wczytajPlik( std::string nazwaPliku ) { std::ifstream plik; plik.open( nazwaPliku.c_str() ); if( !plik.good() ) return false; while( true ) { std::string a; double b; double c; double d; plik >> a >> b >> c >> d; if( plik.good() ) wykonajOperacje( a, b, c, d ); }
w "wykonajOperacje" sprawdzane jest czy b, c lub d jest równe 0 i jeśli tak to zostawia faceta. Nie wiem jak tutaj zrobić aby wtedy pominęło bądź wypisało pozostałych 6 linii i przeszło do kolejnego faceta. I wyświetla mi się tylko pierwsza linia bo kolejna nie spełnia już warunku budowy pliku (w linii tylko 1 słowo) |
|
« 1 » |