C Tutorial/string.h/strncmp

Материал из C\C++ эксперт
Версия от 10:32, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

strncmp

Item Value Header file string.h Declaration int strncmp(const char *str1, const char *str2, size_t count); Function lexicographically compares not more than count characters and returns an integer as follows: Value Meaning <0 str1 is less than str2 0 str1 is equal to str2 >0 str1 is greater than str2

Using strcmp and strncmp

#include <stdio.h>
#include <string.h>
int main()
{
   const char *s1 = "asdfasdfasdf"; 
   const char *s2 = "fdafdsafdsa"; 
   const char *s3 = "abced"; 
 
   printf("%s%s\n%s%s\n%s%s\n\n%s%2d\n%s%2d\n%s%2d\n\n",
          "s1 = ", s1, "s2 = ", s2, "s3 = ", s3,
          "strcmp(s1, s2) = ", strcmp( s1, s2 ),
          "strcmp(s1, s3) = ", strcmp( s1, s3 ),
          "strcmp(s3, s1) = ", strcmp( s3, s1 ) );
   printf("%s%2d\n%s%2d\n%s%2d\n",
          "strncmp(s1, s3, 6) = ", strncmp( s1, s3, 6 ),
          "strncmp(s1, s3, 7) = ", strncmp( s1, s3, 7 ),
          "strncmp(s3, s1, 7) = ", strncmp( s3, s1, 7 ) );
   return 0; 
}
s1 = asdfasdfasdf
s2 = fdafdsafdsa
s3 = abced
strcmp(s1, s2) = -5
strcmp(s1, s3) = 17
strcmp(s3, s1) = -17
strncmp(s1, s3, 6) = 17
strncmp(s1, s3, 7) = 17
strncmp(s3, s1, 7) = -17