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

Dell - Precision

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 .


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

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



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 25 rokov. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity



Public Relations

Soulad s normou nemusí znamenat bezpečnost

ALEFNemusíme se vracet daleko do minulosti, aby bylo možné pozorovat IT oddělní velkých společností, jak se soustředí téměř výhradně na efektivitu poskytovaných služeb pro primární účely organizace. Proč také ne? Informační bezpečnost byla výsadou několika málo oborů a většina organizací si vystačila s firewallem a antivirovým programem.

Pokračování ...


IBM POWER

Redakční blog

Pavel Fric

Pavel Fric, 21. August

Sayonara Player 1.5.1

Přehrávač, jak má být. Poslední dobou vývoj šlape


Pavel Fric

Pavel Fric, 26. January

MuseScore 3

První aktualizace třetí řady notačního editoru MuseScore


Redakce

Redakce, 21. December

Pište pro LinuxEXPRES

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


Všechny blogy »

Dell - Latitude