Concurs: Broke This (8)

Faceti cunostinta cu posibilitatile clasei string (anume basic_string) din STL. Si scrieti functia:

1. str::string RemoveExtraSpaces(str:string const& arg) – care va stergea toate spatiile care nu sunt necesare. Spatii ne-necesare se socot spatiile de la inceput si sfarsit cat si mai mult de 1 spatiu intre cuvinte.

2.std::string FindAndReplace(std::string const& subject, std::string const& search, std::string const& replace) – functia trebuie sa sa inlocuiesc in string – subject, toate aparatiile cuvantului “search” cu cuvantul “reaplce” si sa returneze string-ul rezultat.

3. std::string HtmlEncode(std::string const& text) – va inlocui caractere speciale cu coduri HTML.

4. std::string HtmlDecode(std::string const& html) – va inlocui codurile speciale HTML cu caractere (vezi punct 3).

5. bool ParseURL(std::string const& url, Protocol & protocol, int & port, std::string & host, std::string & document) – va analiza datele din “url” si va scrie in “protocol” datele despre protocol, “host” adresa hostului, “document” – datele care se contin dupa protocol si host.

Protocol:

Date de intrare: protocol://host[:port][/document]
Daca nu e specificat portul va fi considerat ca e port standart (HTTP –  80,  HTTPS – 443, FTP – 21).

Exemplu:
http://www.mysite.com/docs/document1.html?page=30&lang=en#title

One Response to Concurs: Broke This (8)

  1. GuessGen

    Presupun ca in C, s-ar fi primit ceva complicat.
    Eu am facut in bash.
    Nu am intzeles perfect toate nuantele, insa la general programul face ce trebuie sunt doar nuante gen unde trebuie de directionat datele protocolului, da oricum lucreaza bine totul.

    http://pastebin.com/NRyx4a2y

Leave a Reply

Your email address will not be published. Required fields are marked *