אורך מחרוזת בשפת C

String Length C Language



מחרוזת בשפת C היא מערך תווים המסתיים עם תו null ( 0). אורך המחרוזת הוא מספר התווים במחרוזת. באורך המחרוזת ' 0', תו אינו נספר.







בדוגמה המוצגת למעלה, אורך המחרוזת עמ הוא 6.



במדריך זה, ראשית, נראה כיצד להשתמש ב- פונקציה המוגדרת על ידי המשתמש כדי לחשב את אורך המחרוזת, ואז נראה לך פונקציית ספרייה מובנית strlen () . אנו גם מראים לך את השימושים של מידה של אופרטור למחרוזות מילוליות.



אורך מחרוזת באמצעות פונקציה המוגדרת על ידי המשתמש

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





// דוגמא1.ג
#לִכלוֹל

intאורך המחרוזת(לְהַשְׁחִיר *עמ)
{
intאני=0;

בזמן(עמ[אני] ! = ' 0')אני++;

לַחֲזוֹראני;
}

intרָאשִׁי()
{
לְהַשְׁחִירעמ[30]= 'חוּט';

printf ('אורך מחרוזת str הוא => %d n',אורך המחרוזת(עמ));

לַחֲזוֹר 0;
}

כאן, אנו חוזרים על לולאת ה- while מ i = 0 עד שלא נתקל ב- ' 0' אופי. הערך של אני הוא גדל ב- 1 בכל איטרציה של לולאת ה- while. כאשר הלולאה מסתיימת, הערך של אני הוא אורך המחרוזת.



אורך מחרוזת באמצעות פונקציית ספרייה מובנית

פונקציית הספרייה המובנית strlen () יכול לשמש גם לקביעת אורך המחרוזת.

הפונקציה strlen ():

קובץ הכותרת:

חוּט.ח

תחביר:

גודל_ט strlen (קבוע לְהַשְׁחִיר *עמ)

טַעֲנָה: פונקציה זו מעבירה ארגומנט מסוג המצביע ל- char.

ערך החזרה: פונקציה זו מחזירה את אורך המחרוזת עמ . ציין זאת גודל_ט הוא רק כינוי של מספר שלם לא חתום.

// דוגמה 2. ג
#לִכלוֹל
#לִכלוֹל

intרָאשִׁי()
{
לְהַשְׁחִירstr1[30]='STRING ARRAY';
לְהַשְׁחִיר *str2;
לְהַשְׁחִיר *str3;

str2=str1;
str3= 'מצביע STRING';

printf ('אורך המחרוזת str1 הוא => %ld n', strlen (str1));
printf ('אורך המחרוזת str2 הוא => %ld n', strlen (str2));
printf ('אורך המחרוזת str3 הוא => %ld n', strlen (str3));
printf ('אורך המחרוזת'STRING LITERALS'הוא => %ld n', strlen ('STRING LITERALS'));

לַחֲזוֹר 0;
}

כאן, אנו מעבירים מערך מחרוזות, מצביע מחרוזות ומחרוזת מילולית לפונקציה strlen, והפונקציה מחזירה את אורך המחרוזת.

אורך מיתר באמצעות גודל המפעיל

אנחנו גם יכולים להשתמש ב- מידה של אופרטור באורך מחרוזת (רק למחרוזת מילולית). עם זאת, עלינו להפחית את 1 מהערך שהוחזר על ידי אופרטור זה, מכיוון שהוא גם סופר את התו ' 0'. עבור מערך ומצביע, אופרטור sizeof מחזיר את הגודל המוקצה של המערך והמצביע, בהתאמה.

// דוגמה 3. ג
#לִכלוֹל

intרָאשִׁי()
{
לְהַשְׁחִירstr1[30] = 'חוּט';
לְהַשְׁחִיר *str2=str1;

printf ('אורך של'חוּט'= = %d n',(מידה של('חוּט') - 1));
printf ('גודל מוקצה של מערך str1 הוא => %d n',מידה של(str1));
printf ('גודל המצביע str2 הוא => %d n',מידה של(str2));

לַחֲזוֹר 0;
}

כאן, בשורה מספר 9, אנו עוברים את המחרוזת STRING המילולית ומקבלים את הגודל, כולל התו ' 0'. אז, אנו מפחיתים 1 ומקבלים את הגודל האמיתי של המחרוזת.

כאשר אנו מעבירים מערך לאופרטור sizeof, הוא מחזיר את הגודל המוקצה של המערך, שהוא 30, וכאשר מעבירים מצביע תווים, הוא מחזיר את גודל המצביע.

סיכום

לכן, במדריך זה, הראנו לכם כיצד ניתן לחשב את אורך המחרוזת בדרכים שונות. אתה יכול להשתמש בקוד שלך באיזו שיטה המתאימה לך ביותר.