سٹرنگ کی لمبائی سی زبان میں۔

String Length C Language



C زبان میں سٹرنگ حروف کی ایک صف ہے جسے کالعدم حرف ( 0) کے ساتھ ختم کیا جاتا ہے۔ تار کی لمبائی ایک تار میں حروف کی تعداد ہے۔ تار کی لمبائی ' 0' میں ایک حرف شمار نہیں کیا جاتا۔







اوپر دکھائی گئی مثال میں ، تار کی لمبائی۔ p 6 ہے.



اس ٹیوٹوریل میں ، پہلے ، ہم دکھائیں گے کہ کس طرح استعمال کرنا ہے۔ صارف کی وضاحت کردہ فنکشن ایک تار کی لمبائی کا حساب لگانے کے لیے ، اور پھر ہم آپ کو ایک بلٹ ان لائبریری فنکشن دکھائیں گے۔ سٹرلین () . ہم آپ کو اس کے استعمال بھی دکھاتے ہیں۔ کا سائز سٹرنگ لٹریلز کے لیے آپریٹر۔



سٹرنگ لمبائی صارف کے متعین فنکشن کا استعمال کرتے ہوئے۔

آپ یوزر ڈیفائنڈ فنکشن لکھ سکتے ہیں جو سٹرنگ میں حروف کی تعداد لوٹاتا ہے۔





// مثال 1. سی
#شامل کریں

intسٹرنگ لمبائی(چار *p)
{
intمیں=؛

جبکہ(p[میں] ! = '')میں++

واپسیمیں؛
}

intمرکزی()
{
چارp[30۔]= 'STRING'؛

پرنٹ ایف (اسٹرنگ کی لمبائی ہے str =>٪ d۔n'،سٹرنگ لمبائی(p))؛

واپسی ؛
}

یہاں ، ہم دیر سے لوپ کو دوبارہ کرتے ہیں۔ میں = 0۔ جب تک ہمارا سامنا نہ ہو۔ ' 0' کردار کی قدر۔ میں کی طرف سے اضافہ کیا جاتا ہے جبکہ لوپ کے ہر تکرار میں. جب لوپ ختم ہوتا ہے ، کی قیمت میں تار کی لمبائی ہے



سٹرنگ لمبائی بلٹ ان لائبریری فنکشن کا استعمال کرتے ہوئے۔

بلٹ ان لائبریری فنکشن۔ سٹرلین () تار کی لمبائی کا تعین کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔

strlen () فنکشن:

ہیڈر فائل:

تارh

نحو:

size_t سٹرلین (const چار *p)

دلیل: یہ فنکشن ٹائپ پوائنٹر کی دلیل کو چار میں لے جاتا ہے۔

واپسی کی قیمت: یہ فنکشن تار کی لمبائی لوٹاتا ہے۔ p . یاد رکھیں کہ size_t ایک دستخط شدہ عدد کا صرف ایک عرف ہے۔

// مثال 2. سی
#شامل کریں
#شامل کریں

intمرکزی()
{
چارstr1[30۔]='سٹرنگ ایرے'؛
چار *str2؛
چار *str3؛

str2=str1؛
str3= 'سٹرنگ پوائنٹر'؛

پرنٹ ایف (سٹرنگ str1 کی لمبائی =>٪ ld ہے۔n'، سٹرلین (str1))؛
پرنٹ ایف (سٹرنگ str2 کی لمبائی =>٪ ld ہے۔n'، سٹرلین (str2))؛
پرنٹ ایف (سٹرنگ str3 کی لمبائی =>٪ ld ہے۔n'، سٹرلین (str3))؛
پرنٹ ایف ('تار کی لمبائی'STRING LITERALS'=>٪ ld ہے۔n'، سٹرلین ('اسٹرنگ لیٹرلز'))؛

واپسی ؛
}

یہاں ، ہم سٹرنگ ارے ، سٹرنگ پوائنٹر ، اور سٹرنگ لٹریل کو سٹرلین فنکشن میں منتقل کرتے ہیں ، اور فنکشن سٹرنگ کی لمبائی لوٹاتا ہے۔

سائز کے آپریٹر کا استعمال کرتے ہوئے سٹرنگ کی لمبائی۔

ہم بھی استعمال کر سکتے ہیں کا سائز سٹرنگ لمبائی کے لیے آپریٹر (صرف سٹرنگ لٹریل کے لیے)۔ لیکن ، ہمیں اس آپریٹر کی طرف سے لوٹی گئی قیمت سے 1 کو کم کرنا ہوگا ، کیونکہ یہ ’ 0‘ حرف کو بھی شمار کرتا ہے۔ صف اور پوائنٹر کے لیے ، sizeof آپریٹر بالترتیب سرنی اور پوائنٹر کا مختص کردہ سائز لوٹاتا ہے۔

// مثال 3. سی
#شامل کریں

intمرکزی()
{
چارstr1[30۔] = 'STRING'؛
چار *str2=str1؛

پرنٹ ایف ('لمبائی'STRING'ہے =>٪ d۔n'،(کا سائز('STRING') - ))؛
پرنٹ ایف (str1 صف کا مختص سائز =>٪ d ہے۔n'،کا سائز(str1))؛
پرنٹ ایف ('str2 پوائنٹر کا سائز =>٪ d ہے۔n'،کا سائز(str2))؛

واپسی ؛
}

یہاں ، لائن نمبر 9 میں ، ہم لفظی STRING کو پاس کرتے ہیں اور سائز حاصل کرتے ہیں ، بشمول ' 0' حرف۔ تو ، ہم 1 کو کم کرتے ہیں اور سٹرنگ کا اصل سائز حاصل کرتے ہیں۔

جب ہم ایک صف کو sizeof آپریٹر کے پاس دیتے ہیں تو یہ سرنی کا مختص شدہ سائز لوٹاتا ہے جو کہ 30 ہے اور جب کریکٹر پوائنٹر پاس کرتے ہیں تو یہ پوائنٹر کا سائز لوٹاتا ہے۔

نتیجہ

لہذا ، اس ٹیوٹوریل میں ، ہم نے آپ کو دکھایا ہے کہ کس طرح تار کی لمبائی کو مختلف طریقوں سے شمار کیا جا سکتا ہے۔ آپ اپنے کوڈ میں جو بھی طریقہ آپ کے لیے موزوں ہو استعمال کر سکتے ہیں۔