Прототип функции memcmp:
int memcmp( const void * memptr1, const void * memptr2, size_t num );
Заголовочный файл:
| Название | Язык |
|---|---|
| string.h | С |
| cstring | С++ |
Описание
Функция сравнивает первые num байтов блока памяти указателя memptr1 с первыми num байтами блока памяти memptr2. Возвращаемое значение 0 если блоки равны, и значение отличное от 0, если блоки не равны.
Параметры:
- memptr1
Указатель на первый блок памяти. - memptr2
Указатель на второй блок памяти. - num
Количество байтов для сравнения.
Возвращаемое значение
Возвращает значение, информирующее о результате сравнения содержимого блоков памяти:
- Нулевое значение указывает, что содержимое обоих блоков памяти равны.
- Значение больше нуля говорит о том, что первый блок памяти —
memptr1больше, чем блок памяти —memptr2, и значение меньше нуля свидетельствует об обратном. Функцияmemcmpначинает сравнивать по одному байту и как только будут найдены первые неодинаковые символы, функция проанализирует числовой код этих символов. Чей код окажется больше, тот блок памяти и будет считаться больше.
Пример: исходный код программы
//пример использования функции memcmp
#include <iostream>
#include <cstring>
int main()
{
char str1[256] = "";
char str2[256] = "";
std::cout << "Введите строку: ";
std::cin >> str1;
std::cout << "Введите другую строку: ";
std::cin >> str2;
int n = memcmp( str1, str2, 256 ); // сравниваем первые 256 байт указанных блоков памяти
if ( n > 0 )
std::cout << str1 << " > " << str2;
else
if ( n < 0 )
std::cout << str1 << " < " << str2;
else
std::cout << str1 << " == " << str2;
return 0;
}
Пример работы программы
CppStudio.com
Введите строку: отладка
Введите другую строку: компиляция
отладка > компиляция
Введите другую строку: компиляция
отладка > компиляция
Комментарии