Ikkinchi funksiya chaqiruvchi satrga argumentdagi str satrning pos o‘rnidan
n ta belgidan iborat bo‘lgan satr qismini nusxalaydi.
Agarda pos qiymati str satr
uzunligidan katta bo‘lsa, xatolik haqida ogohlantiriladi, agar pos + n ifoda qiymati
str satr uzunligidan katta bo‘lsa, str satrining pos o‘rnidan boshlab satr oxirigacha
bo‘lgan belgilar nusxalanadi. Bu qoida barcha funksiyalar uchun tegishlidir.
Misol:
string s1,s2,s3;
s1=”0123456789”;
s2.assign(s1,4,5); // s2=”45678”
s3.assign(s1,2,20);
// s3=”23456789”
Uchinchi funksiya argumentdagi char turidagi
str satrni string turiga
aylantirib, funksiyani chaqiruvchi satrga o‘zlashtiradi:
char * strold;
cin.getline(strold,100);//”0123456789” kiritiladi
string s1,s2;
s2.assign(strold,6);
// s2=”012345”
s3.assign(strold,20);
// s3=”0123456789”
Satr qismini boshqa satrga qo‘shish funksiyasi
Satr qismini boshqa satrga qo‘shish funksiyalari quyidagicha:
append(const string &str);
append(const string & str,unsigned int pos,
unsigned int n);
append(const char *str, int n);
Bu funksiyalarni yuqorida keltirilgan mos assign
funksiya-lardan farqi -
funksiyani chaqiruvchi satr oxiriga str satrni o‘zini yoki uning qismini qo‘shadi.
char * sc;
cin.getline(sc,100);
//”0123456789” kiritiladi
string s1,s,s2;
s2=sc; s1=”misol”;
s=”aaa”;
//s2=”0123456789”
s2.append(”abcdef”); //s2+=”abcdef” amali
Do'stlaringiz bilan baham: