| Metoda | Deklaracja metody | Przykład wywołania | Opis działania |
|---|---|---|---|
| Deklaracja zmiennej tekstowej | Text() | Text t | Deklarowana jest zmienna typu tekstowego |
| Tworzenie tekstu na podstawie ciągu znaków | Text(const char *str) | Text t("jakiś napis") | Tworzony jest tekst zdefiniowany ciągiem znaków |
| Tworzenie tekstu jednoznakowego | Text(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łkowitej | Text(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 rzeczywistej | Text(double d) | Text t(3.95) | Tworzony jest tekst na podstawie liczby rzeczywistej. W tym przypadku będzie to "3.95". |
| Lorem ipsum | Text 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ów | operator char * () | (char*)(t) | Tekst jest konwertowany na ciąg znaków |
| Konwersja na double | operator double() | double(t) | Tekst jest konwertowany n a liczbę typu double |
| Konwersja na string | string 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 |
| Znak | char & operator()(int n) | t(5) | Zwraca znak występujący w tekście na pozycji ‘n’. |
| Operatory porównania | int 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 (==,!=,<,>,<=,>=). |
| Scalanie | Text 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 przyrostowe | void operator +=(const Text &t) | t1 += t2 | Analogicznie jak +, ale przyrostowo. |
| Zamiana znaku | Text 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 przecinki | Text 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 kropki | Text 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 litery | Text 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 litery | Text 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 tekstu | Text 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-1250 | Text 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-8 | Text 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ątkowy | Text 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". |
| Fragment | Text 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ńcowy | Text 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 tekst | Text 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 tekst | Text 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łów | Text quote(const Text &t) | quote("abc") | Zwraca dany tekst ujęty w cudzysłów. W tym przypadku ""abc"" |
| Czy data | int isdate(const Text &t) | isdate("2012-01-01") | Sprawdzenie czy tekst reprezentuje datę. Zwracane jest 1 (true) lub 0 (false). |
| Czy liczba | int numerical(const Text &t) | numerical("250.5") numerical("2.505e2") | Sprawdzenie czy tekst reprezentuje liczbę. Zwracane jest 1 (true) lub 0 (false). |
| Sprawdzenie wystąpienia | int 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ąpienia | int 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ąpienia | int 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 znaku | int 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 tekstu | Text 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świetlenie | ostream & operator <<(ostream &out,const Text &t) | cout<| Wyświetlenie tekstu |
|
| Pobranie | istream & operator >>(istream &in,Text &t) | cin>>t | Pobranie tekstu wpisywanego z klawiatury |
| Odczyt / zapis do pliku | void 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 nazwie | void 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 stringa | string read_file(const char *name) | read_file(„dane.txt”) | Wczytanie do stringa treści z pliku o danej nazwie. |
