Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9-LEKCIYA PREZENTACIYA

.pdf
Скачиваний:
0
Добавлен:
25.12.2023
Размер:
496.83 Кб
Скачать

Qatarlardı nusqalaw

Qatar mánisti birinen ekinshisine nusqalaw múmkin. Bul maqsette bir qatar standart funkciyalar anıqlanǵan bolıp, olardıń ayrımlarınıń anıqlamaların keltiremiz. strcpy() funkciyası prototipi.

char* strcpy(char* str1, const char* str2)

kórinisine iye hám bul funkciya str2 qatardaǵı belgilerdi str1 qatarına baytpa-bayt nusqalaydı. Nusqalaw str2 kórsetip turǵan qatardaǵı nol-terminal ushıraǵansha dawam etedi. Sol sebepli, str2 qatar uzınlıǵı str1 qatar uzınlıǵınan úlken emesligine isenim payda etiw kerek, keri jaǵdayda berilgen segmentte str1 qatardan keyin jaylasqan berilgenler “ústine” str2 qatarınıń “artıp qalǵan” bólegi jazılıwı múmkin.

Keyingı programma bólegi “Qatardı nusqalaw!” qatardı Str qatarına nusqalaydı:

char Str[20];

strcpy(Str, ”Qatardı nusqalaw!”);

Kerek bolǵanda qatardıń qandayda bir jerinen baslap, aqırına deyin nusqalaw múmkin. Mısal ushın: “Qatardı nusqalaw!” qatarınan 8-belgisinen baslap nusqa alıw zárúr bolsa, onı tómendegishe sheshiw múmkin:

#include <iostream.h> #include <string.h> int main()

{

char Str1[20] = ”Qatardı nusqalaw!”, Str2[20]; char *kórsetkish = Str1;

kórsetkish += 7; strcpy(Str2, kórsetkish); cout << Str2 << endl; return 0;

}

strncpy() funkciyasınıń strlen() funkciyasınan parıqlı jeri sonnan ibarat, onda bir qatardan ekinshisine nusqalanatuǵın belgiler sanı kórsetiledi. Onıń prototipi tómendegi kóriniske iye:

char* strncpy(char *str1, const char *str2, size_t num);

Eger str1 qatar uzınlıǵı str2 uzınlıǵınan kishi bolsa, artıqsha belgiler “kesip” taslanadı. strncpy() funkciyasınıń isletiliwine mısal keltireyik:

#include <iostream.h> #include <string.h> int main()

{

char Uzın_str[] = "01234567890123456789"; char Qısqa_str[] = "ABCDEF"; strncpy(Qısqa_str, Uzın_str, 4);

cout << "Uzın_str = " << Uzın_str << endl; cout << "Qısqa_str = " << Qısqa_str << endl; return 0;

}

Programmada Uzın_str qatarı basınan 4 belgi Qısqa_str qatarına, onıń aldınǵı mánisleri ústine jaylasadı hám nátiyjede ekranǵa

01234567890123456789

0123EF

qatarlar shıǵarıladı.

strdup() funkciyasına jalǵız uzatıladı. Funkciya qatarǵa sáykes hám júzege kelgen qatar-nusqa funkciyası sintaksisi:

parametr sıpatında qatar deregine kórsetkish yadtan orın ajıratadı, oǵan qatardı

nusqalaydı adresin juwap sıpatında qaytaradı. strdup()

char* strdup(const char* source)

Tómendegi programma bóleginde qatar1 qatardıń nusqası yadtıń qatar2 kórsetken jerinde payda boladı:

char *qatar1 = ”Qatar nusqasın alıw.”; char* qatar2;

qatar2 = strdup(qatar1);

Соседние файлы в предмете Программирование на C++