Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

strncmp()とstrcmpのC /C++の違い。


strncmp()とstrcmpは、ASCII文字比較を使用して2つの文字列を比較します。 strncmpは、文字列が比較される文字までの数値として1つの追加パラメーターを取ります。文字列が無効である場合、strcmpはその操作を完了できないため、非常に便利です。 strcmpは、文字列の終わりで終了文字('/ 0')を検索して、操作を終了します。 strncmpはnoを使用します。その操作を終了するために文字の数、したがって安全です。

#include <stdio.h>
int main() {
   char str1[] = "TutorialsPoint";
   char str2[] = "Tutorials";
   // Compare strings with strncmp()
   int result1 = strncmp(str1, str2, 9);
   if(result1 == 0){
      printf("str1 == str2 upto 9 characters!\n");
   }
   // Compare strings using strcmp()
   int result2 = strcmp(str1, str2);
   if(result2 == 0){
      printf("str1 == str2!\n");
   } else {
      if(result2 > 0){
         printf("str1 > str2!\n");
      } else {
         printf("str1 < str2!\n");
      }
   }
   return 0;
}

出力

str1 == str2 upto 9 characters!
str1 > str2!

  1. C /C++でのconstint*、const int * const、およびint const *の違いは?

    上記の記号は、次のことを意味します- int* - Pointer to int. This one is pretty obvious. int const * - Pointer to const int. int * const - Const pointer to int int const * const - Const pointer to const int また、-にも注意してください const int * And int const * are the same. const int * const And int const * const are the same.

  2. C#でのStringとStringBuilderの違い

    C#の文字列 文字列はC#で不変です。つまり、作成後に文字列を変更することはできません。操作を実行すると、メモリ内に文字列型の新しいオブジェクトが作成されます。 string str1 = Welcome!; // creates a new string instance str1 += Hello; str1 += World”; を作成します C#のStringBuilder StringBuilderはC#で変更可能です。これは、文字列に対して操作が実行された場合、毎回新しいインスタンスが作成されるわけではないことを意味します。これにより、文字列とは異なり、メモリ内に新しいス