Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Edycja pliku .txt

Ostatnio zmodyfikowano 2017-05-22 20:22
Autor Wiadomość
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.
C/C++
bool wczytajPlik( std::string nazwaPliku )
{
    std::ifstream plik;
    plik.open( nazwaPliku.c_str() );
    if( !plik.good() )
         return false;
   
    while( true ) //pętla nieskończona
    {
        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)
P-161435
« 1 »
  Strona 1 z 1