في المثال الموضح أعلاه ، طول السلسلة ص 6.
في هذا البرنامج التعليمي ، سنعرض أولاً كيفية استخدام ملف وظيفة محددة من قبل المستخدم لحساب طول سلسلة ، ثم سنعرض لك وظيفة مكتبة مضمنة سترلين () . نعرض لك أيضًا استخدامات حجم عامل لسلسلة حرفية.
طول السلسلة باستخدام وظيفة محددة من قبل المستخدم
يمكنك كتابة دالة معرفة من قبل المستخدم والتي ترجع عدد الأحرف في سلسلة.
//Example1.c
#يشمل
intطول سلسلة(شار *ص)
{
intأنا=0؛
في حين(ص[أنا] ! = ' 0')أنا++ ؛
إرجاعأنا؛
}
intالأساسية()
{
شارص[30]= 'سلسلة'؛
printf (طول السلسلة str =>٪ dن'وطول سلسلة(ص))؛
إرجاع 0؛
}
هنا ، نقوم بتكرار حلقة while من أنا = 0 حتى لا نواجه '0' اختلاف الشخصيات. قيمة ال أنا يزداد بنسبة 1 في كل تكرار للحلقة while. عندما تنتهي الحلقة ، فإن قيمة أنا هو طول السلسلة.
طول السلسلة باستخدام وظيفة المكتبة المدمجة
وظيفة المكتبة المدمجة سترلين () يمكن أيضًا استخدامها لتحديد طول السلسلة.
وظيفة strlen ():
الملف الاساسي:
سلسلة.حبناء الجملة:
size_t سترلين (مقدار ثابت شار *ص)دعوى: تأخذ هذه الوظيفة وسيطة من مؤشر النوع إلى char.
قيمة الإرجاع: هذه الدالة ترجع طول السلسلة ص . لاحظ أن size_t هو مجرد اسم مستعار لعدد صحيح بدون إشارة.
//Example2.c#يشمل
#يشمل
intالأساسية()
{
شارشارع 1[30]='صفيف السلاسل'؛
شار *str2؛
شار *str3؛
str2=شارع 1؛
str3= 'STRING POINTER'؛
printf (طول السلسلة str1 =>٪ ldن'و سترلين (شارع 1))؛
printf (طول السلسلة str2 =>٪ ldن'و سترلين (str2))؛
printf (طول السلسلة str3 =>٪ ldن'و سترلين (str3))؛
printf ('طول السلسلة'سلسلة أحرف'هو =>٪ ldن'و سترلين ('STRING LITERALS'))؛
إرجاع 0؛
}
هنا ، نقوم بتمرير مصفوفة سلسلة ، ومؤشر سلسلة ، وسلسلة حرفية إلى دالة strlen ، وتعيد الدالة طول السلسلة.
طول السلسلة باستخدام sizeof المشغل
يمكننا أيضًا استخدام حجم عامل لطول السلسلة (فقط لسلسلة حرفية). لكن ، علينا طرح 1 من القيمة التي أرجعها هذا العامل ، لأنه يحسب أيضًا الحرف ' 0'. بالنسبة للمصفوفة والمؤشر ، يُرجع العامل sizeof الحجم المخصص للصفيف والمؤشر ، على التوالي.
// مثال 3.c#يشمل
intالأساسية()
{
شارشارع 1[30] = 'سلسلة'؛
شار *str2=شارع 1؛
printf ('طول 'سلسلة'هو =>٪ dن'و(حجم('سلسلة') - 1))؛
printf (الحجم المخصص لصفيف str1 =>٪ dن'وحجم(شارع 1))؛
printf (حجم مؤشر str2 =>٪ dن'وحجم(str2))؛
إرجاع 0؛
}
هنا ، في السطر رقم 9 ، نمرر السلسلة الحرفية STRING ونحصل على الحجم ، بما في ذلك الحرف ' 0'. لذلك ، نطرح 1 ونحصل على الحجم الفعلي للسلسلة.
عندما نمرر مصفوفة إلى حجم المشغل ، فإنها تُرجع الحجم المخصص للمصفوفة ، وهو 30 ، وعند تمرير مؤشر حرف ، فإنها تُرجع حجم المؤشر.
استنتاج
لذلك ، في هذا البرنامج التعليمي ، أوضحنا لك كيف يمكن حساب طول السلسلة بطرق مختلفة. يمكنك استخدام الطريقة الأنسب لك في التعليمات البرمجية الخاصة بك.