Problem z projektem C++
Ostatnio zmodyfikowano 2009-11-28 00:59
Weteran Temat założony przez niniejszego użytkownika  | 
Problem z projektem C++ » 2009-11-27 18:23:03 Witam wszystkich!, jestem nowy na tym forum. Chciałem prosić o pomoc w projekcie: #include "iostream" #include "fstream" #include "stdio.h" #include "string"
 
  using namespace std;
  int main() {     int i, j, z, licznikZ, prawda, zgodne;     fstream plik1, plik2;     char Indeks;     string strZnacznik, strZamkniecie1, strZamkniecie2, strTab[ 100 ], strTabZam[ 100 ];     string strZnak1, strtabZ[ 95 ], strZnakzam, strZnak2;          plik2.open( "D:\\moje\\Uczelnia\\Projekt\\Znaczniki.txt" );     j = 0;     getline( plik2, strtabZ[ j ] );          while( !plik2.eof() )     {         j++;         getline( plik2, strtabZ[ j ] );     }     plik2.close();               plik1.open( "D:\\moje\\Uczelnia\\Projekt\\Cytaty.html" );     plik1 >> Indeks;          i = 0;          while( !plik1.eof() )     {         if( Indeks == '<' )         {             plik1 >> Indeks;             if( Indeks != '/' )             {                 strZnacznik = Indeks;                 prawda = 0;                 do                 {                     plik1 >> Indeks;                     strZnak1 = Indeks;                     strZnacznik = strZnacznik + strZnak1;                                          for( j = 0; j < 95; j++ )                     if( strtabZ[ j ] == strZnacznik )                     {                         prawda++;                     }                 }                 while( prawda < 1 );                                  strTab[ i ] = strZnacznik;                 cout << strTab[ i ] << endl;                                  i++;             }         }         plik1 >> Indeks;     }     plik1.close();          for( z = 0; strTab[ z ] != ""; i++ )          strTabZam[ z ] = "</" + strTab[ z ] + ">";                plik1.open( "D:\\moje\\Uczelnia\\Projekt\\Cytaty.html" );           plik1 >> Indeks;                while( !plik1.eof() )     {         if( Indeks == '<' )         {             do             {                 plik1 >> Indeks;                 if( Indeks == '/' )                 {                     strZamkniecie1 = "</";                     zgodne = 0;                     i = 0;                     do                     {                         plik1 >> Indeks;                         strZnak2 = Indeks;                         strZamkniecie1 = strZamkniecie1 + strZnak2;                                                  for( i = 0; strTabZam[ i ] != ""; i++ )                         if( strZamkniecie1 == strTabZam[ i ] )                         {                             cout << strZamkniecie1 << endl;                             zgodne++;                         }                     }                     while( zgodne < 1 );                                      }             }             while( zgodne < 1 );                      }         plik1 >> Indeks;     }     plik1.close();          getchar();     return 0; } Program ten ma wyszukiwać wszystkie znaczniki html w zadanym pliku (pierwsze otwarcie pliku - działa poprawnie), a potem do tych wyszukanych znaczników ma znaleźć ich zamknięcia, o ile istnieją w pliku (drugie otwarcie pliku - to właśnie nie chce mi działać). Nie wiem dlaczego w momencie drugiego otwierania pliku nie chce to działać. Wydaje mi się, że chodzi tu o wewnętrzny wskaźnik pliku, który po wcześniejszym otwarciu pliku nadal jest na jego końcu, ale nie wiem jak go ustawić na początku... Z góry dzięki za pomoc. Pozdrawiam  | 
 | 
DejaVu  | 
» 2009-11-27 19:54:43 plik1.clear();  plik1.open(...)  | 
 | 
Weteran Temat założony przez niniejszego użytkownika  | 
» 2009-11-28 00:59:49 Wielkie dzięki za pomoc:) teraz wszystko już działa.  | 
 | 
|  « 1 »  |