fork(1) download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. int main() {
  5. std::string text = "HaLoo<hSssj>ss<asd>dS"; //Tekst do zamiany
  6. std::size_t last = 0;
  7. while (true) {
  8. std::size_t startPos = text.find('<', last); //Znajdź znak '<' zaczynając od pozycji w zmiennej "last"
  9. if (startPos == std::string::npos) //Jeżeli nic nie znalazło, zakończ pętle
  10. break;
  11. std::size_t endPos = text.find('>', last); //Znajdź znak '>'. Zakładamy że zapis zawsze będzie poprawny i dla każdego < będzie istniał >
  12. for (int i = startPos; i < endPos; i++) //Zamień literki na ich wielkie odpowiedniki.
  13. text[i] = toupper(text[i]);
  14. last = endPos+1; //Zmien wartość zmiennej last, żeby nie znalazło znowu tej samej pary znaków < i >
  15. }
  16. std::cout << text; //Wypisz na ekran zmieniony tekst.
  17. return 0;
  18. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
HaLoo<HSSSJ>ss<ASD>dS