C Tutorial/string.h/strncmp


Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Материал из 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