שימוש ב־strlen()
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C של Coddy. שיעור 15 מתוך 63.
למדת לקרוא מחרוזות מקלט משתמש, אבל עכשיו דרושה לך דרך לקבוע מה אורכן של המחרוזות האלה. ב־C יש לשם כך את הפונקציה strlen() מהספרייה <string.h>.
הפונקציה strlen() סופרת את מספר התווים במחרוזת, ועוצרת כשהיא מגיעה לתו סיום המחרוזת הריק \0. חשוב לציין שהיא לא כוללת את תו סיום המחרוזת בספירה שלה — היא סופרת רק את התווים הגלויים בפועל.
#include <stdio.h>
#include <string.h>
char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length); // מדפיס: Length: 5כדי להשתמש ב־strlen(), עליך לכלול את הכותרת <string.h> בראש התוכנית. הפונקציה מקבלת מחרוזת כארגומנט ומחזירה מספר שלם שמייצג את מספר התווים שלפני תו הסיום הריק.
הפונקציה הזאת שימושית במיוחד כשצריך לדעת כמה מקום מחרוזת תופסת, לאמת את אורך הקלט או לבצע פעולות שתלויות בגודל המחרוזת. זו אחת הפונקציות הנפוצות ביותר לעבודה עם מחרוזות בתכנות ב־C.
אתגר
קלכתוב תוכנית C שקוראת כמה מילים מהקלט ומנתחת את האורכים שלהן באמצעות הפונקציה strlen(). התוכנית שלך צריכה:
- לקרוא מספר שלם
nשמייצג את מספר המילים לעיבוד - עבור כל אחת מ-
nהמילים:- להצהיר על מערך תווים בן 50 איברים לאחסון המילה
- לקרוא את המילה באמצעות
scanf - להשתמש ב-
strlen()כדי לחשב את אורך המילה - להדפיס את המילה ואת אורכה בתבנית שצוינה
- לאחר עיבוד כל המילים, לשמור ב-
total_charactersאת מספר התווים הכולל בכל המילים - לשמור ב-
max_lengthאת אורך המילה הארוכה ביותר
זכור לכלול את הכותרת <string.h> כדי להשתמש בפונקציה strlen().
השורות שמתחת לקוד שלך מדפיסות את total_characters ואת max_length. הפלט שלך צריך להיראות כך:
Word: [word] - Length: [length]
Word: [word] - Length: [length]
...
Total characters: [total]
Longest word length: [max_length]לדוגמה, אם הקלט הוא:
3
hello
programming
Cהפלט שלך צריך להיות:
Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11האתגר הזה בודק את ההבנה שלך בשימוש ב-strlen() למדידת אורכי מחרוזות, בעיבוד כמה מחרוזות באמצעות לולאות ובביצוע חישובים על סמך נתוני אורכי המחרוזות.
נסו בעצמכם
// TODO: כתבו כאן את הקוד שלכם
// עבדו על כל מילה באמצעות לולאה
// עבור כל מילה:
// - הגדירו מערך תווים עם 50 איברים
// - קראו את המילה באמצעות scanf
// - חשבו את האורך באמצעות strlen()
// - הדפיסו את המילה ואת אורכה
// - עדכנו את total_characters ואת max_length
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1יסודות המצביעים
מהו מצביע?הכרזה על מצביעיםאופרטור לקיחת הכתובת (&)אופרטור ביטול ההפניה (*)מצביעי NULLסיכום: יסודות המצביעים2מצביעים ומערכים
שמות מערכים כמצביעיםאיברי מערך ומצביעיםאריתמטיקה של מצביעיםהשוואת מצביעיםסיכום: מעבר על מערך באמצעות מצביעים5מצביעים ופונקציות
העברה לפי ערךהעברת מצביעים לפונקציותשינוי משתנים באמצעות מצביעיםדוגמה קלאסית: החלפההעברת מערכים לפונקציותחזרה: ארגומנטים של מצביעי פונקציה3מערכי תווים ומחרוזות
מחרוזות כמערכי charתו הסיום nullקלט מחרוזת באמצעות scanfשימוש ב־strlen()שימוש ב־strcpy()שימוש ב־strcat()שימוש ב־strcmp()סיכום: פונקציות מחרוזת בסיסיותתרגלו בעצמכם: קומפיילר C אונליין