সি ভাষায় স্ট্রিং দৈর্ঘ্য

String Length C Language



C ভাষায় একটি স্ট্রিং হল অক্ষরের একটি অ্যারে যা একটি শূন্য অক্ষর ( 0) দিয়ে শেষ করা হয়। স্ট্রিং দৈর্ঘ্য একটি স্ট্রিং এর অক্ষরের সংখ্যা। স্ট্রিং দৈর্ঘ্য ' 0' তে একটি অক্ষর গণনা করা হয় না।







উপরে দেখানো উদাহরণে, স্ট্রিং এর দৈর্ঘ্য পৃ হল 6।



এই টিউটোরিয়ালে প্রথমে আমরা দেখাব কিভাবে a ব্যবহার করতে হয় ব্যবহারকারী সংজ্ঞায়িত ফাংশন একটি স্ট্রিং এর দৈর্ঘ্য গণনা করতে, এবং তারপর আমরা আপনাকে একটি অন্তর্নির্মিত লাইব্রেরি ফাংশন দেখাব strlen () । আমরা আপনাকে এর ব্যবহারও দেখাই আকার স্ট্রিং লিটারেলের জন্য অপারেটর।



ব্যবহারকারীর নির্ধারিত ফাংশন ব্যবহার করে স্ট্রিং দৈর্ঘ্য

আপনি একটি ব্যবহারকারী সংজ্ঞায়িত ফাংশন লিখতে পারেন যা একটি স্ট্রিংয়ে অক্ষরের সংখ্যা প্রদান করে।





// উদাহরণ 1. সি
#অন্তর্ভুক্ত

intস্ট্রিং দৈর্ঘ্য(গৃহস্থালি *পৃ)
{
intআমি=0;

যখন(পৃ[আমি] ! = ' 0')আমি++;

প্রত্যাবর্তনআমি;
}

intপ্রধান()
{
গৃহস্থালিপৃ[30]= 'STRING';

printf ('স্ট্রিং এর দৈর্ঘ্য হল => %dn',স্ট্রিং দৈর্ঘ্য(পৃ));

প্রত্যাবর্তন 0;
}

এখানে, আমরা যখন থেকে লুপটি পুনরাবৃত্তি করি আমি = 0 যতক্ষণ না আমরা মুখোমুখি না হই ' 0' চরিত্র মুল্য আমি দ্বারা বৃদ্ধি করা হয় যখন লুপ প্রতিটি পুনরাবৃত্তি। লুপ শেষ হলে, এর মান আমি স্ট্রিং এর দৈর্ঘ্য।



অন্তর্নির্মিত লাইব্রেরি ফাংশন ব্যবহার করে স্ট্রিং দৈর্ঘ্য

অন্তর্নির্মিত লাইব্রেরি ফাংশন strlen () স্ট্রিং দৈর্ঘ্য নির্ধারণ করতেও ব্যবহার করা যেতে পারে।

strlen () ফাংশন:

হেডার ফাইল:

স্ট্রিং

বাক্য গঠন:

size_t strlen (const গৃহস্থালি *পৃ)

যুক্তি: এই ফাংশনটি টাইপ পয়েন্টার এর একটি আর্গুমেন্ট নেয় char এ।

ফেরত মূল্য: এই ফাংশনটি স্ট্রিং এর দৈর্ঘ্য প্রদান করে পৃ । মনে রাখবেন যে size_t স্বাক্ষরবিহীন পূর্ণসংখ্যার একটি উপনাম মাত্র।

// উদাহরণ 2. সি
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{
গৃহস্থালিstr1[30]='স্ট্রিং অ্যারে';
গৃহস্থালি *str2;
গৃহস্থালি *str3;

str2=str1;
str3= 'স্ট্রিং পয়েন্টার';

printf (স্ট্রিং str1 এর দৈর্ঘ্য => %ldn', strlen (str1));
printf (স্ট্রিং str2 এর দৈর্ঘ্য => %ldn', strlen (str2));
printf (স্ট্রিং str3 এর দৈর্ঘ্য => %ldn', strlen (str3));
printf ('স্ট্রিং এর দৈর্ঘ্য'স্ট্রিং লিটারালস'=> %ldn', strlen ('স্ট্রিং লিটারেলস'));

প্রত্যাবর্তন 0;
}

এখানে, আমরা স্ট্রিং অ্যারে, স্ট্রিং পয়েন্টার এবং স্ট্রিং ফাংশনে স্ট্রিং আক্ষরিক পাস করি এবং ফাংশন স্ট্রিং এর দৈর্ঘ্য প্রদান করে।

আকারের অপারেটর ব্যবহার করে স্ট্রিং দৈর্ঘ্য

আমরাও ব্যবহার করতে পারি আকার স্ট্রিং দৈর্ঘ্যের জন্য অপারেটর (শুধুমাত্র স্ট্রিং আক্ষরিক জন্য)। কিন্তু, আমাদের এই অপারেটর কর্তৃক প্রদত্ত মান থেকে 1 বিয়োগ করতে হবে, কারণ এটি ' 0' অক্ষরও গণনা করে। অ্যারে এবং পয়েন্টার এর জন্য, sizeof অপারেটর যথাক্রমে অ্যারে এবং পয়েন্টার এর বরাদ্দকৃত আকার প্রদান করে।

// উদাহরণ 3. সি
#অন্তর্ভুক্ত

intপ্রধান()
{
গৃহস্থালিstr1[30] = 'STRING';
গৃহস্থালি *str2=str1;

printf ('এর দৈর্ঘ্য 'STRING'= = %dn',(আকার('STRING') - ));
printf ('Str1 অ্যারের বরাদ্দ আকার => %dn',আকার(str1));
printf ('Str2 পয়েন্টার আকার => %dn',আকার(str2));

প্রত্যাবর্তন 0;
}

এখানে, 9 নং লাইনে, আমরা স্ট্রিংটি আক্ষরিক STRING পাস করি এবং ' 0' অক্ষর সহ আকার পাই। সুতরাং, আমরা 1 বিয়োগ করি এবং স্ট্রিং এর প্রকৃত আকার পাই।

যখন আমরা একটি অ্যারে সাইজফ অপারেটরে পাস করি, তখন এটি অ্যারের বরাদ্দকৃত আকার ফিরিয়ে দেয়, যা 30, এবং একটি অক্ষর পয়েন্টার পাস করার সময়, এটি পয়েন্টারটির আকার প্রদান করে।

উপসংহার

সুতরাং, এই টিউটোরিয়ালে, আমরা আপনাকে দেখিয়েছি কিভাবে বিভিন্নভাবে স্ট্রিং দৈর্ঘ্য গণনা করা যায়। আপনি আপনার কোড ব্যবহার করতে পারেন যে পদ্ধতিটি আপনার জন্য সবচেয়ে উপযুক্ত।