#include <string.h> int memcmp(const void *buf1, const void *buf2, size_t count);
Функция memcmp() сравнивает первые count символов массивов, адресуемых параметрами buf1 и buf2.
Функция memcmp() возвращает целое значение, которое интерпретируется следующим образом.
Значение | Результат сравнения |
---|---|
Меньше нуля | buf1 меньше buf2 |
Нуль | buf1 равен buf2 |
Больше нуля | buf1 больше buf2 |
Данная программа выдает результат сравнения двух своих аргументов, которые задаются в командной строке.
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char *argv[]) { int outcome, len, l1, l2; if(argc!=3) { printf("Неверно задано число аргументов."); exit(1); } /* определение длины более короткой строки */ l1 = strlen(argv[1]); l2 = strlen(argv[2]); len = l1 < l2 ? l1:l2; outcome = memcmp(argv[1], argv[2], len); if(!outcome) printf("Равны"); else if(outcome<0) printf("Первый меньше второго."); else printf("Первый больше второго."); return 0; }