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 » |