Содержание | Глава 14

Функция strncmp

#include <string.h>
int strncmp(const char *str1, const char *str2, size_t count);

Функция strncmp() сравнивает в лексикографическом порядке не более count символов из двух строк, заканчивающихся символом конца строки, и возвращает целое значение, зависящее от результата сравнения следующим образом:

ЗначениеРезультат сравнения
Меньше нуляstr1 меньше str2
Нульstr1 равен str2
Больше нуляstr1 больше str2

Если в какой-нибудь из заданных строк меньше count символов, сравнение заканчивается при обнаружении первого нулевого символа.

Пример

Следующая функция сравнивает первые восемь символов двух своих аргументов, взятых из командной строки, и выдает сообщение в случае их равенства.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  if(argc!=3) {
    printf("Неверное количество аргументов.");
    exit(1);
  }

  if(!strncmp(argv[1], argv[2], 8))
    printf("Строки одинаковые.\n");

  return 0;
}

Зависимые функции

strcmp() strnchr() strncpy()
Содержание | Глава 14