Tekst (text)

MetodaDeklaracja metodyPrzykład wywołaniaOpis działania
Deklaracja zmiennej tekstowejText()Text tDeklarowana jest zmienna typu tekstowego
Tworzenie tekstu na podstawie ciągu znakówText(const char *str)Text t("jakiś napis")Tworzony jest tekst zdefiniowany ciągiem znaków
Tworzenie tekstu jednoznakowegoText(char c)Text t(‘a’)Tworzony jest tekst złożony z jednego znaku.
W tym przykładzie będzie to "a".
Tworzenie tekstu odpowiadającego liczbie całkowitejText(int i)Text t(2)Tworzony jest tekst na podstawie liczby całkowitej.
W tym przypadku będzie to "2".
Tworzenie tekstu odpowiadającego liczbie rzeczywistejText(double d)Text t(3.95)Tworzony jest tekst na podstawie liczby rzeczywistej.
W tym przypadku będzie to "3.95".
Lorem ipsumText lorem_ipsum(int rep=1)lorem_ipsum()Funkcja zwraca demonstracyjny tekst „Lorem ipsum”. Parametr rep określa liczbę powtórzeń tekstu (domyślnie 1).
Konwersja na ciąg znakówoperator char * ()(char*)(t)Tekst jest konwertowany na ciąg znaków
Konwersja na doubleoperator double()double(t)Tekst jest konwertowany n a liczbę typu double
Konwersja na stringstring as_string(Text t)as_string(t)Tekst jest konwertowany na string.
Długośćint len(const Text &t)len(t)Zwraca długość tekstu
Znakchar & operator()(int n)t(5)Zwraca znak występujący w tekście na pozycji ‘n’.
Operatory porównaniaint operator ==(const Text &t1,const Text &t2)
int operator <(const Text &t1,const Text &t2)
itd.
t1 == t2
t1 < t2
"dwa" == "dwa"
Dwa teksty są porównywane znak po znaku. Dostępne są wszystkie operatory (==,!=,<,>,<=,>=).
ScalanieText operator +(const Text &,const Text &)t1 + t2
"dwa"+"naście"
Dwa teksty są scalane. W wyniku uzyskuje się ciąg znaków pierwszego i drugiego napisu, ustawione jeden za drugim.
W drugim przykładzie otrzymamy słowo "dwanaście".
Scalanie przyrostowevoid operator +=(const Text &t)t1 += t2Analogicznie jak +, ale przyrostowo.
Zamiana znakuText replace(const Text &t,char c1,char c2)replace("aut",’a’,’b’)Zwracany jest tekst, w którym znak c1 jest zastąpiony znakiem c2.
W tym przypadku zwrócone zostanie słowo „but”.
Zamiana kropek na przecinkiText dot2com(const Text &t)dot2com("3.22")Zwracany jest tekst, w którym kropki (‘.’) są zamienione na przecinki (‘,’).
W tym przypadku zwrócone będzie "3,22".
Zamiana przecinków na kropkiText com2dot(const Text &t)com2dot("3,22")Zwracany jest tekst, w którym przecinki (‘,’) są zamienione na kropki (‘.’).
W tym przypadku zwrócone będzie "3.22".
Zamiana na wielkie literyText to_upper(const Text &t)to_upper("Kowalski")Litery w tekście są zamieniane na wielkie.
W tym przykładzie wynikiem będzie „KOWALSKI”.
Zamiana na małe literyText to_lower(const Text &t)to_lower("Nowak")Litery w tekście są zamieniane na małe.
W tym przykładzie wynikiem będzie „nowak”.
Usuwanie polskich znaków z tekstuText remove_pl(const Text &t)remove_pl(„rękodzieło”)Polskie litery w tekście są zamieniane na litery łacińskie.
W tym przykładzie wynikiem będzie „rekodzielo”.
Zmiana formatowania znaków z ISO 8859-2 na Windows-1250Text to_win1250(const Text &)to_win1250(„tekst”)Polskie litery zakodowanie zestawem wschodnioeuropiejskim Latin2 są zamieniane na zakodowane zestawem obowiązującym w systemie Windows PL.
Zmiana formatowania znaków z ISO 8859-2 na UTF-8Text to_utf8(const Text &)to_utf8(„tekst”)Polskie litery zakodowanie zestawem wschodnioeuropiejskim Latin2 są zamieniane na zakodowane zestawem UTF-8 (wykorzystywanym m.in. w systemie Linux).
Fragment początkowyText part(const Text &t,int l)part("dwanaście",3)Zwraca tekst składający się z ‘l’ początkowych znaków tekstu ‘t’.
W tym przypadku wynikiem będzie "dwa".
FragmentText subtext(const Text &t,int f,int l)subtext("dwanaście",2,3)Zwraca tekst składający się z ‘l’ znaków tekstu ‘t’, zaczynających się od znaku o numerze ‘f’.
W tym przypadku wynikiem będzie "wan".
Fragment końcowyText endtext(const Text &t,int f)endtext("dwanaście",4)Zwraca tekst składający się z końcowych znaków tekstu ‘t’, zaczynający się od znaku o numerze ‘f’.
W tym przypadku wynikiem będzie "naście".
Zamiana liczby całkowitej na tekstText itot(int i)
Text ltot(long l)
Itot(12)
ltot(1234567890)
Zwracany jest tekst odpowiadający danej liczbie całkowitej. Funkcja itot konwertuje liczby typu int, a funkcja ltot konwertuje liczby typu long int.
W pierwszym przykładzie zwracany jest tekst "12", w drugim „1234567890”.
Zamiana liczby rzeczywistej na tekstText dtot(double d,int l=0)
Text dtotl(double d)
Text dtots(double d)
dtot(3.95)
dtot(3.95, 4)
dtotl(3.95)
dtots(3.95)
Zwracany jest tekst odpowiadający danej liczbie rzeczywistej. Parametr ‘l’ określa liczbę miejsc dziesiętnych, które zostaną zachowane. Dla l=0 konwersja zachowa 6 cyfr po przecinku.
Wersja dtotl (long) zachowuje 12 cyfr po przecinku.
Wersja dtots (short) zachowuje 2 cyfr po przecinku.
Zamiana liczby całkowitej na tekst i formatowanie w %Text fperc(double d,int l=2)
Text fperc2(double d,int l=2)
fperc(0.12)
fperc2(0.12)
Zwracany jest tekst odpowiadający danej liczbie rzeczywistej, sformatowany w procentach z dokładnością do 'l' miejsc po przecinku (domyślnie dwóch) i zakończony znakiem %.
Funkcja fperc2 zwraca tekst zakończony dwoma znakami %.
W pierwszym przypadku wynikiem jest "12.00%". W drugim "12.00%%".
Zamiana tekstu na liczbę całkowitąint ttoi(const Text &t)ttoi("3")Zwraca liczbę całkowitą odpowiadającą danemu tekstowi.
Zamiana tekstu na liczbę rzeczywistądouble ttod(const Text &t)ttod("6.5")Zwraca liczbę rzeczywistą odpowiadającą danemu tekstowi.
Ujęcie w cudzysłówText quote(const Text &t)quote("abc")Zwraca dany tekst ujęty w cudzysłów.
W tym przypadku ""abc""
Czy dataint isdate(const Text &t)isdate("2012-01-01")Sprawdzenie czy tekst reprezentuje datę. Zwracane jest 1 (true) lub 0 (false).
Czy liczbaint numerical(const Text &t)numerical("250.5")
numerical("2.505e2")
Sprawdzenie czy tekst reprezentuje liczbę. Zwracane jest 1 (true) lub 0 (false).
Sprawdzenie wystąpieniaint exist(char c)
int exist(const Text &t)
t.exist(‘a’)
t.exist("kot")
Sprawdzenie czy w tekście występuje dana litera lub dany fragment. Zwraca 1 (true) lub 0 (false).
Pierwsza pozycja wystąpieniaint firstpos(char c)
int firstpos(const Text &t)
t.firstpos(‘a’)
t. firstpos ("kot")
Pierwsza pozycja, na której w tekście występuje dana litera lub dany fragment. Zwraca pozycję lub -1, gdy nie znaleziono.
Ostatnia pozycja wystąpieniaint lastpos(char c)
int lastpos(const Text &t)
t.lastpos(‘a’)
t. lastpos ("kot")
Ostatnia pozycja, na której w tekście występuje dana litera lub dany fragment. Zwraca pozycję lub -1, gdy nie znaleziono.
Pozycja n-tego wystąpienia znakuint nthpos(char,int)t.nthpos('a',6)Pozycja n-tego wystąpienia znaku w tekście. Zwraca pozycję lub -1, gdy nie znaleziono.
Zastępowanie tekstuText replace(const Text &t,const Text &in,const Text &out)replace(t,"kot","pies")W tekście t ciąg znaków wejściowy ‘in’ jest zastępowany ciągiem wyjściowym ‘out’. Gdy ‘in’ występuje więcej niż raz, to zastępowanie dotyczy wszystkich wystąpień.
W przykładzie słowo ‘kot’ jest zastępowane słowem ‘pies’.
Wyświetlenieostream & operator <<(ostream &out,const Text &t)cout<Wyświetlenie tekstu
Pobranieistream & operator >>(istream &in,Text &t)cin>>tPobranie tekstu wpisywanego z klawiatury
Odczyt / zapis do plikuvoid read(FILE *file)
void write(FILE *file)
t.read(file)
t.write(file)
Odczyt/zapis tekstu do pliku typu FILE.
Wczytanie treści z pliku o danej nazwievoid read_file(const char *name)t.read_file(„dane.txt”)Wczytanie do zmiennej tekstowej treści z pliku o danej nazwie.
Wczytanie treści z pliku do stringastring read_file(const char *name)read_file(„dane.txt”)Wczytanie do stringa treści z pliku o danej nazwie.