Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet167/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   163   164   165   166   167   168   169   170   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Функции


Ôóíêöèè êëañña string äëя óäîáñòâa ðaññìîòðåíèя ìîæíî ðaçáèòü ía íåñêîëüêî êaòåãîðèé: ïðèñâaèâaíèå è äîáaâëåíèå ÷añòåé ñòðîê, ïðåîáðaçîâaíèя ñòðîê, ïî- èñê ïîäñòðîê, ñðaâíåíèå è ïîëó÷åíèå õaðaêòåðèñòèê ñòðîê.


Присваивание и добавление частей строк


Äëя ïðèñâaèâaíèя ÷añòè îäíîé ñòðîêè äðóãîé ñëóæèò ôóíêöèя assign: assign(COnst string& str);
assign(COnst string& str, size_type pOs, size_type n);
assign(COnst Char* s, size_type n);
Ïåðâaя ôîðìa ôóíêöèè ïðèñâaèâaåò ñòðîêó str âûçûâaþùåé ñòðîêå, ïðè ýòîì äåéñòâèå ôóíêöèè ýêâèâaëåíòíî îïåðaöèè ïðèñâaèâaíèя:
string s1("Âañя"), s2;
s2.assign(s1); // Ðaâíîñèëüíî s2 = s1;

Âòîðaя ôîðìa ïðèñâaèâaåò âûçûâaþùåé ñòðîêå ÷añòü ñòðîêè str, ía÷èíaя ñ ïîçè- öèè pOs1. Åñëè pOs áîëüøå äëèíû ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå Out_Of_range. Âûçûâaþùåé ñòðîêå ïðèñâaèâaåòñя n ñèìâîëîâ, ëèáî, åñëè pOs + n áîëüøå, ÷åì äëèía ñòðîêè str, âñå ñèìâîëû äî êîíöa ñòðîêè str.


Òðåòüя ôîðìa ïðèñâaèâaåò âûçûâaþùåé ñòðîêå n ñèìâîëîâ ñòðîêè s ñòaðîãî òèïa.
Äëя äîáaâëåíèя ÷añòè îäíîé ñòðîêè ê äðóãîé ñëóæèò ôóíêöèя append: append(COnst string& str);
append(COnst string& str, size_type pOs, size_type n);
append(COnst Char* s, size_type n);
Ïåðâaя ôîðìa ôóíêöèè äîáaâëяåò ñòðîêó str ê êîíöó âûçûâaþùåé ñòðîêè, ïðè ýòîì äåéñòâèå ôóíêöèè ýêâèâaëåíòíî îïåðaöèè êîíêaòåíaöèè (+).
Âòîðaя ôîðìa äîáaâëяåò ê âûçûâaþùåé ñòðîêå ÷añòü ñòðîêè str, ía÷èíaя ñ ïîçè- öèè pOs. Åñëè pOs áîëüøå äëèíû ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå Out_Of_range. Ê âûçûâaþùåé ñòðîêå äîáaâëяåòñя n ñèìâîëîâ, ëèáî, åñëè pOs + n áîëüøå, ÷åì äëèía ñòðîêè str, âñå ñèìâîëû äî êîíöa ñòðîêè str. Åñëè äëèía ðåçóëüòaòa áîëü- øå ìaêñèìaëüíî äîïóñòèìîé äëèíû ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå length_errOr.
Òðåòüя ôîðìa äîáaâëяåò ê âûçûâaþùåé ñòðîêå n ñèìâîëîâ ñòðîêè s ñòaðîãî òèïa.


Преобразования строк


Äëя âñòaânè â îäíó ñòðîêó ÷añòè äðóãîé ñòðîêè ñëóæèò ôóíêöèя insert: insert(size_type pOs1, COnst string& str);
insert(size_type pOs1, COnst string& str, size_type pOs2, size_type n);
insert(size_type pOs, COnst Char* s, size_type n);
Ïåðâaя ôîðìa ôóíêöèè âñòaâëяåò ñòðîêó str â âûçûâaþùóþ ñòðîêó, ía÷èíaя ñ ïîçèöèè pOs1 âûçûâaþùåé ñòðîêè. Èíûìè ñëîâaìè, âûçûâaþùaя ñòðîêa çaìåùa- åòñя ñòðîêîé, êîòîðaя ñîñòîèò èç ïåðâûõ pOs1 ñèìâîëîâ âûçûâaþùåé ñòðîêè, ça êîòîðûìè ñëåäóåò ñòðîêa str öåëèêîì, a ïîñëå íåå ðañïîëaãaþòñя îñòaëüíûå ñèì- âîëû âûçûâaþùåé ñòðîêè. Åñëè pOs1 áîëüøå äëèíû ñòðîêè, ïîðîæäaåòñя èñêëþ-
÷åíèå Out_Of_range. Åñëè äëèía ðåçóëüòaòa áîëüøå ìaêñèìaëüíî äîïóñòèìîé äëè- íû ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå length_errOr.
Âòîðaя ôîðìa ôóíêöèè âñòaâëяåò â âûçûâaþùóþ ñòðîêó ÷añòü ñòðîêè str, ía÷è- íaя ñ ïîçèöèè pOs1 âûçûâaþùåé ñòðîêè. Âûçûâaþùaя ñòðîêa çaìåùaåòñя ñòðî- êîé, êîòîðaя ñîñòîèò èç ïåðâûõ pOs1 ñèìâîëîâ âûçûâaþùåé ñòðîêè, ça êîòîðûìè ñëåäóþò n ýëåìåíòîâ ñòðîêè str, ía÷èíaя ñ ïîçèöèè pOs2, a ïîñëå íèõ ðañïîëaãa- þòñя îñòaëüíûå ñèìâîëû âûçûâaþùåé ñòðîêè. Åñëè n áîëüøå äëèíû ñòðîêè str, êîïèðóåòñя âåñü îñòaòîê ñòðîêè str. Åñëè pOs1 èëè pOs2 áîëüøå äëèíû ñîîòâåòñò- âóþùåé ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå Out_Of_range. Åñëè äëèía ðåçóëüòaòa


1 size_type ïðåäñòaâëяåò ñîáîé áåççíaêîâûé öåëûé òèï, äîñòaòî÷íûé äëя õðaíåíèя ðaçìåða ñaìîãî áîëüøîãî îáúåêòa äëя äaííîé ìîäåëè.

áîëüøå ìaêñèìaëüíî äîïóñòèìîé äëèíû ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå


length_errOr.
Òðåòüя ôîðìa ôóíêöèè âñòaâëяåò â âûçûâaþùóþ ñòðîêó n ýëåìåíòîâ ñòðîêè s
ñòaðîãî òèïa, ía÷èíaя ñ ïîçèöèè pOs âûçûâaþùåé ñòðîêè. Äëя óäaëåíèя ÷añòè ñòðîêè ñëóæèò ôóíêöèя erase:
erase(size_type pOs = 0, size_type n = npOs);
Îía óäaëяåò èç âûçûâaþùåé ñòðîêè n ýëåìåíòîâ, ía÷èíaя ñ ïîçèöèè pOs. Åñëè pOs íå óêaçaíî, ýëåìåíòû óäaëяþòñя ñ ía÷aëa ñòðîêè. Åñëè íå óêaçaíî n, óäaëяåòñя âåñü îñòaòîê ñòðîêè.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   163   164   165   166   167   168   169   170   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish