Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Сравнение массивов
Для сравнения массивов предназначена функция memcmp()
. Функция memcmp()
сравнивает первые size
байтов массивов buf1
и buf2
. В качестве значения функция возвращает:
отрицательное число
— еслиbuf1
меньшеbuf2
;0
— если массивы равны;положительное число
— еслиbuf1
большеbuf2
.
Прототип функции:
#include <cstring> /* или #include <string.h>
или #include <memory.h> */
int memcmp(const void *buf1, const void *buf2, size_t size);
Пример:
int arr1[3] = {1, 2, 3}, arr2[3] = {1, 2, 3}, x = 0;
x = std::memcmp(arr1, arr2, sizeof arr2);
std::cout << x << std::endl; // 0
arr1[2] = 2; // arr1[] = {1, 2, 2}, arr2[] = {1, 2, 3}
x = std::memcmp(arr1, arr2, sizeof arr2);
std::cout << x << std::endl; // -1
arr1[2] = 4; // arr1[] = {1, 2, 4}, arr2[] = {1, 2, 3}
x = std::memcmp(arr1, arr2, sizeof arr2);
std::cout << x << std::endl; // 1
Функция memcmp()
производит сравнение с учетом регистра символов. Если необходимо произвести сравнение без учета регистра символов, то можно воспользоваться функциями _memicmp()
и _memicmp_l()
. Для сравнения русских букв следует настроить локаль. Прототипы функций:
#include <cstring> /* или #include <string.h>
или #include <memory.h> */
#include <clocale> /* или #include <locale.h> */
int _memicmp(const void *buf1, const void *buf2, size_t size);
int _memicmp_l(const void *buf1, const void *buf2, size_t size,
_locale_t locale);
Предназначение параметров и возвращаемое значение такое же, как у функции memcmp()
. Функция _memicmp_l()
позволяет дополнительно задать локаль. Пример использования функций:
std::setlocale(LC_ALL, "Russian_Russia.1251"); // Настройка локали
char str1[] = "абв", str2[] = "АБВ";
int x = 0;
x = _memicmp(str1, str2, sizeof str2);
std::cout << x << std::endl; // 0
x = std::memcmp(str1, str2, sizeof str2);
std::cout << x << std::endl; // 1
_locale_t locale = _create_locale(LC_ALL, "Russian_Russia.1251");
x = _memicmp_l(str1, str2, sizeof str2, locale);
std::cout << x << std::endl; // 0
_free_locale(locale);
Реквизиты
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов