přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Knižnica string – funkcie back, front a push_back

POINT.X

Programovanie v jazyku C++: Knižnica string – funkcie back, front a push_back

cplusplus.png

Ďalšia časť o knižnici string a jej podporovaných funkciách. Tentoraz sa pozrieme na funkcie back, front a push_back .


reklama

Funkcia back

Funkcia back vráti referenciu resp. odkaz na znak, ktorý je posledný v reťazci. Samozrejme, posledným znakom sa nemyslí ukončovací znak \0. Funkcia back nepodporuje žiadne argumenty.

1. príklad: Testujeme funkciu back

#include 
#include 
using namespace std;
int main()
{
    string retazec1 = "Neviete o nejakej rastline, ktora ma liecive ucinky?";
    cout << retazec1.back() << "\n";
    string retazec2 = "Viva la France, good land";
    cout << retazec2.back() << "\n";
    string retazec3 = "Bez ropy dnesny svet neprezije!";
    cout << retazec3.back() << "\n";
    return 0;
}

Výsledok programu:

?
d
!

Predstavme si, že chceme rýchlo zmeniť posledný znak za iný znak. Ukážeme si to v druhom príklade.

2. príklad: Meníme posledný znak za iný znak

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string retazec1 = "Neviete o nejakej rastline, ktora ma liecive ucinky.";
    if(retazec1.back() != '?')
        retazec1.back() = '?';
    cout << retazec1 << "\n";
    if(retazec1.back() == '?')
        retazec1.back() = '.';
    cout << retazec1 << "\n";
    if(retazec1.back())    //ak je posledným znakom hocičo
        retazec1.back() = '!';
    cout << retazec1 << "\n";
    return 0;
}

Výsledok programu:

Neviete o nejakej rastline, ktora ma liecive ucinky?
Neviete o nejakej rastline, ktora ma liecive ucinky.
Neviete o nejakej rastline, ktora ma liecive ucinky!

Funkcia front

Funkcia front vracia prvý znak v reťazci. Rovnako ako funkcia back nepodporuje argumenty.

3. príklad: Testujeme funkciu front

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string retazec1 = "Povedz mi, co ty vies o svete?";
    cout << retazec1.front() << "\n";
    string retazec2 = "Och lasko, este ze ta mam!";
    cout << retazec2.front() << "\n";
    string retazec3 = "Kocko, pod sa hrat!";
    cout << retazec3.front() << "\n";
    return 0;
}

Výsledok programu:

P
O
K

4. príklad: Meníme prvý znak za iný znak

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string retazec1 = "Rozum? Co to je?";
    if(retazec1.front() != 'V')
        retazec1.front() = 'X';
    cout << retazec1 << "\n";
    if(retazec1.front() == 'X')
        retazec1.front() = 'K';
    cout << retazec1 << "\n";
    if(retazec1.front())
        retazec1.front() = 'O';
    cout << retazec1 << "\n";
    return 0;
}

Výsledok programu:

Xozum? Co to je?
Kozum? Co to je?
Oozum? Co to je?

Funkcia push_back

Funkcia push_back pripojí znak definovaný ako argument do posledného miesta v reťazci. Stane sa tak znak posledným v reťazci. Samozrejme, zvýši sa size o +1.

5. príklad: Testujeme funkciu push_back

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string retazec1 = "Vytvoril som program simulujuci kolonizaciu Marsu";
    cout << retazec1 << "\n";
    cout << "Ejj vidim chybicku! Kedze je to oznamovacia veta, tak na konci vety davame bodku!\n";
    retazec1.push_back('.');
    cout << retazec1;
    return 0;
}

Výsledok programu:

Vytvoril som program simulujuci kolonizaciu Marsu
Ejj vidim chybicku! Kedze je to oznamovacia veta, tak na konci vety davame bodku!
Vytvoril som program simulujuci kolonizaciu Marsu.

6. príklad: Zopakovanie si funkcie push_back

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string retazec1 = "Treba sa snazit v zivote, ak chcete nieco dosiahnut";
    if(retazec1.back() != '!')
        retazec1.push_back('!');
    cout << retazec1 << "\n";

    string retazec2 = "Najlepsia hra je Euro Truck Simulator 1";
    if(retazec2.back() != '2')
    {
        retazec2.erase(retazec2.size()-1);
        retazec2.push_back('2');
        retazec2.push_back('!');
    }
    cout << retazec2 << "\n";
    return 0;
}

Výsledok programu:

Treba sa snazit v zivote, ak chcete nieco dosiahnut!
Najlepsia hra je Euro Truck Simulator 2!

Nahoru

(Jako ve škole)
Průměr: 1,00 | Hodnotilo: 1
 

Top články z OpenOffice.cz

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky Exospace.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity
  • Hodnocení autora: *



Public Relations

Hledáme externí spolupracovníky - staňte se zpravodajem LinuxEXPRES.cz

Hledáme nadšence do Linuxu a open source technologií, kteří by měli zájem přispívat na LinuxEXPRES.cz. Příležitostně, nebo i pravidelně, podle svých možností. Hledáme externí spolupracovníky, kteří se zajímají, co je nového kolem Linuxu a chtěli by se o získané informace podělit, přispět komentářem nebo článkem o svých zkušenostech s různými technologiemi a jejich uplatněním.

Pokračování ...


Redakční blog

Redakce

Redakce, 21. prosinec

Pište pro LinuxEXPRES

Baví vás Linux? Pište o něm, není to nic těžkého. LinuxEXPRES hledá nové autory.


Pavel Fric

Pavel Fric, 23. říjen

Nové motivy pro přehrávač Sayonara

Pomozte rozšířit možnost měnit vzhled programu za běhu


Pavel Fric

Pavel Fric, 28. únor

Lollypop


Všechny blogy »