Функция memcmp () в C ++ сравнивает указанное количество символов двух объектов-указателей.
memcmp () прототип
int memcmp (const void * lhs, const void * rhs, size_t count);
memcmp()
Функция принимает три аргумента: LHS, РИТ и сосчитать. Эта функция сначала интерпретирует объекты, на которые указывают lhs и rhs, как массивы файлов unsigned char
. Затем он лексикографически сравнивает первые символы lhs и rhs.
Он определен в заголовочном файле "> заголовочный файл.
memcmp () Параметры
lhs and rhs
: Указатель на объекты памяти для сравнения.count
: Максимальное количество байтов для сравнения.
memcmp () Возвращаемое значение
Функция memcmp () возвращает:
- положительное значение, если первый отличающийся байт в
lhs
больше, чем соответствующий байт вrhs
. - отрицательное значение, если первый отличающийся байт
lhs
меньше соответствующего байтаrhs
. - 0, если первые байты
lhs
иrhs
равны.
Пример: как работает функция memcmp ()
#include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Когда вы запустите программу, вывод будет:
Первые 5 персонажей Hello World! и Привет Земля! такие же Hello Earth! предшествует Hello World!