פונקציות למחרוזות בספריה string.h
1. הופך את הסדר של כל האותיות עד '0\' במחרוזת:
strrev(str);
א) משווה אלפבתית בין שתי
מחרוזות:
num=strcmp(str1,str2);
ב)
משווה אלפבתית n תווים ראשונים בין שתי
מחרוזות:
num=strncmp(str1,str2,4);
ג) משווה אלפבתית n תווים ראשונים בין שתי מחרוזות, ומפסיק את
ההשוואה ברגע שנמצא שוני כלשהו:
num=strncmpi(str1,str2,n);
בכל
הפונקציות של סעיף זה:
אם 0 num> אזי : str1>str2
אם 0
num< אזי : str1<str2
אם 0
num= אזי : str1=str2 .
strlwr(str);
strupr(str);
num=strlen(str);
א) מעתיק מחרוזת למחרוזת עד לתו '0\':
strcpy(str1,str2);
(גם stpcpy עושה את אותה הפעולה).
ב) מעתיק n איברים ממחרוזת למחרוזת:
strncpy (str1,str2,n);
ג) יוצר העתק של str ,מחזיר מצביע להעתק שנוצר:
ptr=strdup(str);
א) מוסיף את str2 ל- str1 מייד בסוף המחרוזת של str1.
כלומר במקום הסימן '0\' שנמצא ב- str1
תושם האות הראשונה של str2
וכ"ו.
strcat(str1,str2);
ב) מוסיף n תווים
ראשונים מ- str2 לסוף- str1.
כלומר :האיבר הראשון של
str2 יתווסף במקום ה-'0\' שב- str1
,האיבר השני יבוא לאחר מכן וכ"ו עד
האיבר ה-n –י .לאחר האיבר ה-n –י שהתווסף יושם '0\' .
Strncat(str1,str2,n);
לדוגמא:
;“AAA”int
str1[7]=
”BBB”int str2[7]=
strncat(str1,str2,2);
? |
'\0' |
B |
B |
A |
A |
A |
ב-str1 יהיה:
א) ממלא
מחרוזת באות מסויימת :
Strset(str,ch);
ב) מכניס n תווים ch ל-str ,יעצור אם יפגוש '0\' .
strnset(str1,ch,13);
או
strnset(str1,ch,strlen(str)-1);
א) כנ"ל עם מצביעים memset.
א) מוצא תו ch במחרוזת str ומחזיר מצביע לאיבר הראשון
שנמצא:
ptr=strchr(str,ch);
ב)מוצא את
ההופעה האחרונה של ch ב- str ומחזיר מצביע לאיבר שנמצא ,
אם לא נמצא איבר כזה הפונקציה תחזיר NULL.
Ptr=strchr(str,ch);
ג) מחפש תו ch ב-n איברים הראשונים ומחזיר מצביע
לאיבר אם נמצא,
או NULL אם לא נמצא:
ptr=memchr(str,ch,strlen(str));
num=strspn(str1,str2);
num=strcspn(str1,str2);
ptr=strstr(str1,str2);
ptr=strpbrk(str1,str2);
Str2 בעצם מגדיר סימנים מפרידים ב-
str1.