121
сprintf() – экранға printf() сияқты формат арқылы сӛз тіркесін шығара-
ды, тек олардың тҥстерін textcolor() және textbackground()
функциялары арқылы ӛзгертуге мҥмкіндік береді;
puts(str) – экранға сӛз тіркесін шығарып, курсорды бірден келесі жолдың
басына алып барады, мҧндағы str – тіркестік константа немесе тіркестік айны-
малы. Бҧлар stdio.h тақырып файлы бойынша жҧмыс істейді.
Екі функция да символдық жиымды нӛлдік байтқа дейін шығарады.
printf() функциясы символ тіркесі шығарылған соң курсорды келесі жолға
кӛшірмейді, ол ҥшін арнайы формат (\n) жазылуы тиіс. Ал puts() функциясы
символдар шығарылған соң, автоматты тҥрде курсорды келесі жол басына
кӛшіреді.
//puts функциясын пайдаланудың мысалы
#include
#include
main()
{ char str1[]= “abc”;
char str2[]= “def\nghi\n”;
char str3[]= “jkl”;
puts(str1);
puts(str2);
puts(str3);
}
Нәтижесі:
abc
def
ghi
jkl
cputs(str) – экранға сӛз тіркестерін шығарып, олардың тҥстерін text-
color() және textbackground() функциялары арқылы ӛзгертуге
мҥмкіндік береді, conio.h тақырып файлы бойынша жҧмыс істейді.
Сӛз тіркестерімен орындалатын басқа операциялар да стандартты функция-
лар арқылы атқарылады. Ол функциялар жҧмыс істеуі ҥшін string.h
тақырыптық файлы қажет.
Жалпы сӛз тіркестеріне қолдану ҥшін stdlib.h немесе string.h
тақырыптық файлдары қолданылады.
7.6 Сөз тіркестерімен жұмыс істейтін өзге функциялар
1) strlen(str) функциясы str сӛз тіркесіндегі символдар санын (соңғы
нӛлді есепке алмайды), яғни жолдың ҧзындығын анықтайды, оның типі int,
тақырыптық файлы <string.h> (Б қосымшасын қараңыз).
Мысалы. Бірнеше сӛз тіркестерінің ҧзындығын анықтайтын программа қҧру
керек.
// strlen(str) функциясын пайдалану
122
#include
#include
#include
main()
{
static char t[] = ”Студенттер жайлы хабарлама.”;
clrscr();
printf(“%d\n”,strlen(t));
printf(“%d\n”,strlen(”Студенттер жайлы хабарлама.”));
printf(”%d\n”,strlen(”әл-Фараби ат.КазҰУ”));
printf(“%d\n”,strlen(“”));
getch();
}
Мҧның нәтижесі:
27
27
19
0
2) strcat(stroka1, stroka2) функциясы қатарларды біріктіру ҥшін
қолданылады. Ол stroka1 және stroka2 тіркестерін біріктіріп, нәтижені
stroka1 айнымалысына меншіктейді, stroka2 тіркесінің мәні ӛзгермейді
Мысалы:
// strcat(str1, str2) функциясын пайдалану
#include
#include
#include
main()
{
char str1[50]="С тілін оқимыз, ";
char str2[]="жақында емтихан тапсырамыз.";
clrscr();
printf("%s\n",strcat(str1,str2));
puts(str1); // қатарды экранға шығару
puts(strcat("Егер жақсы оқысақ, ",str2));
getch();
}
Мҧның нәтижесі:
С тілін оқимыз, жақында емтихан тапсырамыз.
С тілін оқимыз, жақында емтихан тапсырамыз.
Егер жақсы оқысақ, жақында емтихан тапсырамыз.
Келесі мысалда студенттің аты пернелерден енгізіліп, ол екінші тіркеспен біріктіріледі.
// strcat(str1, str2) функцияларын пайдалану
#include
#include
123
#include
main()
{
char name[80];
char stud[]= " - ҚазҰУ студенті";
clrscr();
puts("атын енгіз:");
gets(name);
strcat(name,stud);puts(name);
getch();
}
3) strcmp(stroka1,stroka2) функциясы екі сӛз тіркесін салыстыру ҥшін
қолданылады. Егер олар бірдей болса, функцияның мәні 0-ге тең болады, әйт-
песе ол екі тіркестің айырмасын береді. Егер stroka1 болса, нә-
тиже 0-ден кіші, ал stroka1 > stroka2 болса, нәтиже 0-ден артық болады.
Кӛбінесе бҧл тәсіл екі тіркестің бірдей еместігін анықтау ҥшін ғана
қолданылады.
Мысалы:
main()
{
printf("%d\n",strcmp("Сәлем","Сәлем"));
printf("%d\n",strcmp("Azat","Izat"));
printf("%d\n",strcmp("Абайда","Абайла"));
getch();
}
Мҧның нәтижесі:
0
-8
-7
Алғашқы екі сӛз бірдей, нәтижесі – 0, келесі екі сӛздің алғашқы әрпі әртҥрлі,
олардың ASCII-кодтарының айырмасы – -8 (А - 65, I - 73), ал 3-жолы -7 (д –
164, л – 171, олардың кодтарының айырмасы 164-171=-7).
// strcmp(str1, str2) функциясын пайдалану
#include
#include
#include
#define NAME "Ритчи"
main()
{
char f[20];
puts("С тілінің авторы кім?");
gets(f);
while(strcmp(f,NAME)!=0)
{puts("басқа кім болуы мүмкін?");
Достарыңызбен бөлісу: |