Proszę napisać program do wydobywania z dokumentów HTML adresów URL z zawartych w nim odnośników (patrz poniżej). Program powinien wczytać dokument z wejścia, lub z pliku zadanego opcjonalnym argumentem wywołania -f, a na wyjściu wyświetlić listę adresów URL znalezionych w dokumencie, po jednym w wierszu.

Program należy napisać z wykorzystaniem wskaźników znakowych i procedur biblioteki string, po wczytaniu kompletnego znacznika HTML (być może kontynuowanego w kilku wierszach pliku) do bufora tekstowego.

Wyjaśnienia dotyczące adresów URL:

Adresy URL znajdują się w dokumentach HTML jako wartości atrybutu HREF znacznika A o przykładowej postaci:
<A HREF="http://diablo.ict.pwr.wroc.pl/downloads/xdemo32_old.zip" TARGET=nowe>

Czyli znacznikiem A jest ciąg znaków zaczynający się znakiem mniejszości, po którym pierwszym słowem jest jednoliterowe słowo A (pisane małą lub wielką literą), i zakończony znakiem większości. Wewnątrz znacznika występują atrybuty w postaci NAZWA=WARTOŚĆ, oddzielone białymi znakami. Po nazwie atrybutu występuje zawsze znak równości, a po nim wartość atrybutu w postaci ciągu znaków. Jeśli ten ciąg znaków jest ujęty w cudzysłowach, to może zawierać dowolne znaki. Jeśli nie ma cudzysłowów, to wartością atrybutu jest pojedyncze słowo.

Adres URL składa się z kilku części zgodnie ze schematem:

protokół://adres-domenowy:numer-portu/ścieżka-dokumentu
Jednak nie wszystkie te części muszą pojawić się w każdym konkretnym adresie.

Dla celów bieżącego zadania istotne jest tylko oddzielenie protokołu (ciągu liter i cyfr zakończonych dwukropkiem), jeśli wystąpił w adresie, i stwierdzenie czy wystąpił adres domenowy i jaką ma postać. Adres domenowy (jeśli występuje) musi zaczynać się podwójnym slashem (//) i po nim następuje albo numer portu, zaczynający się dwukropkiem, albo ścieżka dokumentu, zaczynająca się pojedynczym znakiem slash (/). Jakkolwiek ścieżka dokumentu jest obowiązkowa we wszystkich adresach URL, w wielu dokumentach jest ona pomijana (błędnie), i wtedy adres domenowy jest ostatnią częścią adresu URL.