Прототип функции 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
Введите строку: отладка
Введите другую строку: компиляция
отладка > компиляция
Введите другую строку: компиляция
отладка > компиляция
Комментарии