Тәттібеков Қ. С. Раимбаева С.Ә. С/С++ тілінде программалау негіздері


size_t strspn(const char *str1, const char *str2)



Pdf көрінісі
бет61/79
Дата15.11.2023
өлшемі1,39 Mb.
#124059
түріПрограмма
1   ...   57   58   59   60   61   62   63   64   ...   79
size_t strspn(const char *str1, const char *str2)
функциясы str2 жолына 
кірмейтін str1 жолынан алғашқы символдың индексін қайтарады.
size_t strcspn(const char *str1, const char *str2) 
функциясы str2 жолына 
кіретін str1 жолынан алғашқы символдың индексін қайтарады.
Мысал. 
int main ( ) {
char str[80] = "123 abc"; 
printf("n = %d\n", strspn ( str, "321" );
// n = 3 жазады
printf("n = %d\n", strcspn ( str, "cba" );
// n = 4 жазады
return 1;
}
char* strpbrk(const char *str1, const char *str2 ) функциясы str1 
жолындағы алғашқы символды табады, ол str2 жолындағы бір символға тең 
болады. Сәтті жағдайда функция осы символға көрсеткішті, ал кері жағдайда 
– NULL қайтарады.
Мысал. 
char str[80] = "123 abc"; 
printf ("%s\n", strpbrk ( str, "bca" ));
//abc
жазады 
Жолдарды салыстыру.
Жолдарды салыстыру үшін 
strstr
функциясы 
қолданылады.
char* strstr(const char *str1, const char *str2 ) 
функциясы str2 (соңғы 
нольдік байтсыз) жолының str1 жолына алғашқы кіруін табады. Сәтті 
жағдайда функция табылған ішкі жолға көрсеткішті, ал кері жағдайда – 
NULL қайтарады. Егер str1 көрсеткіші нольдік ұзындығы бар жолды 
көрсетсе, онда функция str1 көрсеткішін қайтарады.
Мысал.
char str[80] = "123 abc 456; 
printf ("%s\n", strstr ( str, "abc");
// abc 456 шығарады
Жолды лексемаларға бөлу.
Бұл үшін 
strtok
функциясы қолданылады. 
char* strtok(char *str1, const char *str2 )
функциясы str1 жолындағы 
келесі лексемаға (сөз) көрсеткіш қайтарады, мұнда лексемаларды бөлгіш 
ретінде str2 жолының символдары болады. Лексемалар біткен жағдайда
функция NULL қайтарады. strtok функциясын алғашқы рет шақырғанда str1 
параметрі лексемаларға бөлінетін жолға көрсетуі тиіс, ал келесі шақырғанда 
осы параметр NULL-ге қойылуы қажет. Лексема табылғаннан кейін strtok 
функциясы осы лексемадан кейін бөлгіш орнына нольдік байтты жазады.
Мысал.
#include  


92 
#include < string.h > 
int main( ) {
char str[ ] = "12 34 ab cd";
char *p;
p = strtok ( str, " " );
while (p) {
printf ( "%s\n", p );
// бағанға мәндер жазады: 12 34 ab cd
p = strtok ( NULL, " " );

return 1;



Достарыңызбен бөлісу:
1   ...   57   58   59   60   61   62   63   64   ...   79




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет