× מי אנחנו? התוכנית הראשונה משתנים קלט ופלט אופרטורים חשבוניים משפטי בקרה לולאות לולאות דו ממדיות casting sizeof typedef פונקציות רקורסיות מצביעים מצביע כפול מערכים מערכים דינאמיים מערכים דו ממדים מחרוזות חיפוש בינארי מיון בועות מיון בחירה מיון הכנסה מיון מהיר מיון מיזוג

Let's learn C

מחרוזות

מהי מחרוזת ?

אוסף של תווים (char 's ) שיוצרים לנו מילה , משפט או בעצם כל דבר אחר.
למשל: "1252s!@#" היא מחרוזת.
לצערנו , בשפת c טיפוס בשם מחרוזת לא קיים ואנו צריכים לעבוד עם מערך של chars ולקרוא לספרייה בשם string.h כדי לקבל את כל היכולות של מחרוזות לקוד שלנו.

דוגמאות ליצירת משתנה של מחרוזת:

דוגמאות ליצירת משתנה של מחרוזת:
char s[6] = {'H' , 'e' , 'l' , 'l' , 'o' ,'\0' };
char s = "Hello";

/0

נקרא גם null terminator ובעצם אומר לקוד שלנו מתי לעצור לקרוא תווים מהמחרוזת.

פונקציות שימושיות למחרוזות:

strcpy(s1,s2) = מעתיקה ממחרוזת 2 למחרוזת 1
strcat(s1,s2) = מעתיקה את 2 לקצה של 1
strlen(s1) = מוצאת את הגודל של המחרוזת
strcmp(s1,s2) = מחריזה 0 אם המחרוזות שוות , מספר שלילי אם האות הראשונה (ששונה) במחרוזת 1 קטנה מ2 , מחזירה מספר חיובי אם האות הראשונה (ששונה) במחרוזת 1 גדולה מ2
strchr(s1,ch) = מחזירה פוינטר לפעם הראשונה שהאות הופיעה בתוך המחרוזת
strstr(s1,s2) = מחזירה פוינטר לפעם הראשונה שמחרוזת 2 הופיעה ב1

דוגמאות לשימוש בכמה מהפוקנציות:

CODE :
#include <stdio.h>
#include <string.h>

void main()
{

  char s1[11] = "hello";
  char s2[10] = "world";
  char s3[20];
  int length;
  /*in visual studio 2017 or above use strcpy_s, strcat_s
    or type above the #include:#define _CRT_SECURE_NO_WARNINGS*/
  strcpy(s3,s1); // copied s1 into s3.
  printf("%s\n",s3); // prints hello 
    
  strcat(s1,s2); 
  printf("%s\n" , s1); // helloworld 

  
  length = strlen(s1);
  printf("%d",length); // prints 10. (helloworld = 10 letters,\0 is not included in the length of the string)

}