လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> strncmp function သည် strings strings များကိုနှိုင်းယှဉ်လျှင်ဖြစ်နိုင်သောအချည်းနှီးသော strings ပြ about နာများကိုမည်သို့ထိရောက်စွာကိုင်တွယ်နိုင်မည်နည်း။

strncmp function သည် strings strings များကိုနှိုင်းယှဉ်လျှင်ဖြစ်နိုင်သောအချည်းနှီးသော strings ပြ about နာများကိုမည်သို့ထိရောက်စွာကိုင်တွယ်နိုင်မည်နည်း။

gitbox 2025-09-18

အချည်းနှီး string ကိုအပြောင်းအလဲနဲ့၏ပြ problem နာ

အချည်းနှီးသော string တစ်ခုသည်အထူးသဖြင့်အထူးကြိုးတစ်ခုဖြစ်သည်။ strncmp ကိုအသုံးပြုပြီးကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်သောအခါအချည်းနှီးသော string တစ်ခု၏တည်ရှိမှုသည်အထူးသဖြင့်အောက်ပါအခြေအနေများတွင်နှိုင်းယှဉ်မှု၏ရလဒ်များကိုအကျိုးသက်ရောက်နိုင်သည်။

  1. တစ် ဦး က string ကိုဗလာဖြစ်ပါတယ် strncmp သည် အခြားအချည်းနှီးသောကြိုးများဖြင့်အချည်းနှီးသော string များကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်ဆိုပါက Return Value သည်အမိန့်တွင်အချည်းနှီးသောကြိုးများထက်သေးငယ်သည့်အရာများထက်သေးငယ်သည်ဟုယူဆရသည်။ ဥပမာအားဖြင့်:

     <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">'hello'</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>); </span><span><span class="hljs-comment">// ရလဒ်ကအနုတ်လက်ခဏာဖြစ်လိမ့်မည်</span></span><span>
    </span></span>

    ဒီတော့ string တစ်ခုဗလာကျတဲ့အခါဒီအခြေအနေကိုဘယ်လိုကိုင်တွယ်ရမယ်ဆိုတာစဉ်းစားဖို့လိုတယ်။

  2. နှစ်ခုအချည်းနှီးသောကြိုးနှင့်နှိုင်းယှဉ် <br> <br> ကြိုးနှစ်ချောင်းနှစ်ခုလုံးသည်အချည်းနှီးသော ကြိုး များဖြစ်သည်။

     <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>); </span><span><span class="hljs-comment">// ဝင်သည် 0</span></span><span>
    </span></span>
  3. သတ်မှတ်ထားသောအရှည်နှိုင်းယှဉ်နေစဉ်အတွင်း 0 င်ဖြစ်ပါတယ်
    သတ်မှတ်ထားသောနှိုင်းယှဉ်ချက်အရှည်သည် 0 ဖြစ်ပါက strncmp သည် "ပထမ 0 ဇာတ်ကောင်" နှစ်ခုကို "ပထမ 0 ဇာတ်ကောင်" ကိုနှိုင်းယှဉ်လိမ့်မည်။ 0 င်လာသည့် string သည်အချည်းနှီးသော string တစ်ခုဖြစ်သော်လည်း strncmp သည် အချည်းနှီးသောကြိုးနှစ်ချောင်းကိုညီမျှပြီး 0 င်သို့ပြန်လာရန်စဉ်းစားလိမ့်မည်။

     <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-string">'abc'</span></span><span>, </span><span><span class="hljs-string">'def'</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// ဝင်သည် 0</span></span><span>
    </span></span>

    ၎င်းသည်အထူးအခြေအနေအချို့တွင်အထူးဂရုပြုရန်လိုအပ်သည်။


အချည်းနှီးသောကြိုးများကိုထိရောက်စွာကိုင်တွယ်ဖြေရှင်းနည်း

အချည်းနှီးသောကြိုးများကြောင့်ဖြစ်ပေါ်လာသောအလားအလာရှိသောပြ problems နာများကိုရှောင်ရှားရန်အောက်ပါနည်းဗျူဟာများကိုကျင့်သုံးနိုင်သည်။

  1. အချည်းနှီးသော strings ကိုစစ်ဆေးပါ string ကိုနှိုင်းယှဉ်ခြင်းမပြုမီ, string ကိုဗလာရှိမရှိပထမ ဦး ဆုံးစစ်ဆေးပါ။ အကယ်. string သည်ဗလာဖြစ်လျှင်စီးပွားရေးယုတ္တိဗေဒအပေါ် အခြေခံ. ပုံမှန်တန်ဖိုးကိုပြန်ပို့ရန်သို့မဟုတ်နှိုင်းယှဉ်မှုကိုတိုက်ရိုက်ကျော်သွားပါ။ ဥပမာအားဖြင့်:

     <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>) || </span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$str2</span></span><span>)) {
        </span><span><span class="hljs-comment">// အချည်းနှီးသောကြိုးကိုင်တွယ်အတွက်အထူးယုတ္တိဗေဒ</span></span><span>
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ကြိုးတစ်ချောင်းသည်ဗလာဖြစ်သည်\n"</span></span><span>;
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
    }
    </span></span>
  2. ပုံမှန်တန်ဖိုးကိုသတ်မှတ်ပါ string သည်ဗလာဖြစ်လိမ့်မည်ဆိုပါကအချည်းနှီးသောကြိုးမှ 0 င်ရောက်စွက်ဖက်ခြင်းကိုရှောင်ရှားရန်နှိုင်းယှဉ်ခြင်းမပြုမီသင် default valuing သို့ default value ကိုသတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်:

     <span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-variable">$str1</span></span><span> ?: </span><span><span class="hljs-string">'default'</span></span><span>;
    </span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-variable">$str2</span></span><span> ?: </span><span><span class="hljs-string">'default'</span></span><span>;
    </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
    </span></span>

    ဤဥပမာတွင် ဒေါ်လာ str1 သို့မဟုတ် $ str2 သည်အချည်းနှီးဖြစ်လျှင်၎င်းတို့ကို 'default' string နှင့်အစားထိုးလိမ့်မည်။

  3. ကျိုးကြောင်းဆီလျော်နှိုင်းယှဉ်အရှည်ရွေးချယ်ပါ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကြိုးများကိုနှိုင်းယှဉ်သောအခါသင့်လျော်သောနှိုင်းယှဉ်ချက်ကိုရွေးချယ်ရန်ကြိုးစားပါ။ အကယ်. သတ်မှတ်ထားသောအရှည်သည်အလွန်သေးငယ်သော်လည်းနှိုင်းယှဉ်မှုကိုစောစီးစွာအဆုံးသတ်နိုင်ပြီးတိကျသောနှိုင်းယှဉ်မှုရလဒ်များရရှိခြင်းဖြစ်နိုင်သည်။ အထူးသဖြင့်အချည်းနှီးသောကြိုးများသို့မဟုတ်တစ်စိတ်တစ်ပိုင်းအချည်းနှီးသောကြိုးများအနေဖြင့်အမှန်တကယ်လိုအပ်ချက်များအပေါ် အခြေခံ. သင့်လျော်သောအရှည်ကိုဆုံးဖြတ်ရန်လိုအပ်သည်။

  4. မလိုအပ်သောနှိုင်းယှဉ်ချက်များကိုရှောင်ရှားရန် strlen function ကိုသုံးပါ တစ်ခါတစ်ရံကျွန်ုပ်တို့သည် string တစ်ခုလုံးကိုနှိုင်းယှဉ်စရာမလိုဘဲ string ၏အမှန်တကယ်အကြောင်းအရာများကိုသာဂရုစိုက်သည်။ ဤအချိန်တွင်သင်ပထမ ဦး ဆုံး string ကို၏အရှည်ကိုစစ်ဆေးပြီးနှိုင်းယှဉ်မည်ကိုဆုံးဖြတ်ပါ။

     <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>) &gt; </span><span><span class="hljs-number">0</span></span><span> &amp;&amp; </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$str2</span></span><span>) &gt; </span><span><span class="hljs-number">0</span></span><span>) {
        </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ကြိုးတစ်ချောင်းသည်ဗလာဖြစ်သည်,ကျော် skip。\n"</span></span><span>;
    }
    </span></span>