10-LEKCIYA PREZENTACIYA
.pdfs2.append(”abcdef”); |
//s2 += “abcdef” ámeli |
||
|
|
//hám |
s2 = “0123456789abcdef” |
s1.append(s2, 4, |
5); |
//s1 = “mısal45678” |
|
s.append(sc, 5); |
|
//s = |
“aaa012345” |
Qatar bólegin basqa qatar ishine jaylastırıw funkciyası
Bir qatarǵa ekinshi qatar bólegin jaylastırıw ushın tómendegi funkciyalar
isletiledi:
insert(unsigned int pos1, const string &str);
insert(unsigned int pos1, const string &str, unsigned int
pos2,
unsigned int n);
insert(unsigned int pos1, const char *str, int n);
Bul funkciyalar append sıyaqlı isleydi, parıqı sonda, str qatarın yáki onıń bólegin funkciyanı shaqırıwshı qatardıń kórsetilgen pos1 ornınan baslap jaylastıradı.
Bunda ámel shaqırıwshı qatardıń pos1 ornınan keyin jaylasqan belgiler ońǵa jıljıydı.
Mısal:
char *sc;
cin.getline (sc, 100); //”0123456789” qatarı kiritiledi unsigned int i = 3;
string s1, s, s2; |
|
|
s1 |
= “mısallar”; |
|
s2 |
= sc; |
//s2 = “0123456789” |
s = “xyz”; |
|
|
|
|
//s2 = |
s2.insert(i, “abcdef”); |
“012abcdef3456789” |
|
s1.insert(i - 1, s2, 4, 5); |
//s1 = “mi45678sallar” |
|
s.insert(i - 2, sc, 5); |
//s = “x01234yz” |
Qatar bólegin óshiriw funkciyası
Qatar bólegin óshiriw ushın tómendegi funkciyanı isletiw múmkin:
erase(unsigned int pos = 0, unsigned int n = npos);
Bul funkciya, onı shaqırıwshı qatardıń pos ornınan baslap n dana belgini
óshiredi. Egerde pos kórsetilmese, qatar basınan baslap óshiriledi. Eger n kórsetilmese, qatardı aqırına shekem bolǵan belgiler óshiriledi:
string s1, s2, s3; s1 = “0123456789”; s2 = s1;
s3 = s1;
|
//s1 = |
|
s1.erase(4, |
5);“01239” |
|
s2.erase(3); |
//s2 |
= “012” |
s3.erase(); |
//s3 |
= “” |
void clear() funkciyası, onı shaqırıwshı qatardı tolıq tazalaydı.
Mısal ushın:
s1.clear(); //qatar bos dep esaplanadı (s1 = “”)
Qatar bólegin almastırıw funkciyası
Bir qatar bóleginiń ornına basqa qatar bólegin qosıw ushın tómendegi
funkciyalardan paydalanıw múmkin:
replace(unsigned int pos1, unsigned int n1, const string
&str);
replace(unsigned int pos1, unsigned int n1, const string
&str,
unsigned int pos2, unsigned int n2);
replace(unsigned int pos1, unsigned int n1, const char *str,
int n);
Bul funkciyalar insert sıyaqlı isleydi, onnan parıqlı túrde ámel shaqırıwshı qatardıń kórsetilgen ornınan (pos1) n1 belgiler ornına str qatarın yamasa pos2 orınnan baslanǵan n2 belgiden ibarat bólekti ǵana qoyadı (almastıradı).
Mısal:
char *sc = “0123456789”; unsigned int i = 3, j = 2; string s1, s, s2;
|
|
|
//s2 = |
s2 |
= sc; |
|
“0123456789” |
s1 |
= “mısallar”; |
|
|
s = “xyz”; |
|
|
|
s2.replace(i, j, |
“abcdef”); |
//s2 = |
|
“012abcdef56789” |
|
|
|
|
|
|
//s1 = |
s1.replace(i - 1, j + 1, s2, 4, 5); |
“mi45678lar” |
||
s.replace(i - 2, |
j + 2, sc, 5); |
//s = “x012345” |
swap(string & str) funkciyası eki qatardı óz-ara almastırıw ushın isletiledi.
Mısal ushın:
string s1, s2;
s1 =“01234”;
s2 =“98765432”;
s1.swap(s2); //s2 = “01234” hám s1 = “98765432” boladı
Qatar bólegin ajıratıp alıw funkciyası
Funkciya prototipi tómendegishe:
string substr(unsigned int pos=0, unsigned int n=npos) const;
Bul funkciya, onı shaqırıwshı qatardıń pos ornınan baslap n belgini nátiyje sıpatında qaytaradı. Eger pos kórsetilmese, qatar basınan baslap ajıratıp alınadı, eger n kórsetilmese, qatar aqırına shekem bolǵan belgiler nátiyje sıpatında qaytaradı:
string s1, s2, s3; |
|
|
s1 |
= “0123456789”; |
|
s2 |
= s1; |
|
s3 |
= s1; |
|
s2 |
= s1.substr(4, 5); |
//s2 = “45678” |
s3 |
= s1.substr(3); |
//s3 = “3456789” |
// “30123456789” qatar ekranǵa shıǵıwı ushın cout << s1.substr(1, 3) + s1.substr();
string tiptegi qatardı char tipke ótkeriw string tiptegi qatardı char tipine ótkiziw ushın
const char *c_str() const;
funkciyanı isletiw kerek. Bul funkciya char tiptegi „\0‟ belgisi menen tamamlanatuǵın qatarǵa turaqlı kórsetkishti qaytaradı:
сhar *s1;
string s2 = “0123456789”;
s1 = s2.c_str();
Dál usı maqset ushın
const char * data()const;
funkciyasınan da paydalanıw múmkin. Bıraq bul funkciya qatar aqırına „\0‟ belgisin qospaydı.
Qatar bólegin izlew funkciyaları
string klassında qatar bólegin izlew ushın hár túrli varianttaǵı funkciyalar anıqlanǵan. Tómende olardan tiykarǵıların kórip shıǵamız.
unsigned int find(const string &str, unsigned int
pos=0)const;
Funkciya, |
onı |
shaqırǵan |
qatardıń |
kórsetilgen |
ornınan (pos) baslap str qatardı |
izleydi hám |
birinshisi sáykes |
keliwshi qatar |
bóleginiń baslanıw indeksin juwap sıpatında qaytaradı, keri jaǵdayda maksimal oń pútin npos sanın qaytaradı
(npos = 4294967295), eger izlew ornı (pos) berilmese, qatar basınan baslap izlenedi.
unsigned int find(char c.unsigned int pos=0)const;
Bul funkciya aldınǵısınan parıqlı túrde qatardan c belgisin izleydi.
unsigned int rfind(const string &str, unsigned int pos=npos)const;
Funkciya, |
onı |
shaqırǵan |
qatardıń |
kórsetilgen |
pos |
ornına |
shekem str qatardıń birinshi ushıraǵan orınıń indeksin qaytaradı, keri jaǵdayda npos mánisin qaytaradı, eger pos kórsetilmese qatar aqırına shekem izleydi.
unsigned int rfind(char c.unsigned int pos = npos) const;
Bul funkciyanıń aldınǵısınan parıqı - qatardan c belgisin izleydi.
unsigned int find_first_of(const string &str, unsigned int pos=0)const;