pomoc - przeszukiwanie plików




pino04.04.2009 23:53:51
#
Dołączył: 04.04.2009

witam

mam program który odczytuje podany plik (html), wyświetla wybraną* zawartość i zapisuje to do pliku (txt)

  • i właśnie nie wiem jak zrobić żeby z podanego pliku wyłuskiwało wszystkie łańcuchy URL, obecnie na konsoli wypisuje wszystko z pliku, całą strukturę pliku HTML i wszystko zapisuje do pliku txt

format adresów na konsoli i do zapisu http://www.google.com http://www.cppreference.com/wiki/

po prostu każdy nowy adres w nowej linij

kod programu wygląda tak http://wklej.org/hash/676e3fe838/

Rekman11.04.2009 18:14:35
#
Dołączył: 05.04.2009

Użycie tablicy do wczytywania linii z pliku jest bardzo ryzykowne, chyba że wiemy ile linii wczytywany plik zawiera. Propnuję użyć kontener typu vector. Najpierw dołączamy odpowiedni plik:

include <vector>

Następnie przed pętlą while tworzymy dwa obiekty: vector<string> AdresyWWW; string linia; Samą pętlę zastępujemy poniższym kodem: while(getline(is, linia)) { string::size_type idx = 0; while(idx < linia.size() || idx != string::npos) { idx = linia.find("\"http", idx); if(idx != string::npos) { idx = idx+5; if(idx < linia.size()) { string::size_type first_idx = idx-4; idx = linia.find_first_of("\" ", idx); if(idx != string::npos) { string adres(linia, first_idx, idx-first_idx); AdresyWWW.push_back(adres); cout << adres << endl; } } } } }




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?