Сравнение массивов.

JohnnyZ
Offline
Зарегистрирован: 08.06.2016

День добрый, суть вопроса такова:

Имеется набор RFID-карточек, нужно сделать так, чтобы при считывании определенной карты на определенный порт подавался сигнал.

Я создал два таких вот массива:

unsigned char reading_card[5];
unsigned char cards_array[][5] = {
  {123,123,123,123,123},
  {234,234,234,234,234}
};
Дальше нужно последовательно сравнить первый массив со строками второго, и при совпадении - подать сигнал на соответствующий порт. Можете подсказать, в каком направлении курить мануалы?
Logik
Offline
Зарегистрирован: 05.08.2014

memcmp

JohnnyZ
Offline
Зарегистрирован: 08.06.2016

А разве сработает? Мне нужно сравнивать массивы построчно, а memcmp сравнивает их начиная с первого элемента.

Тем более что у массивов разные размерности.

JohnnyZ
Offline
Зарегистрирован: 08.06.2016

В общем, уже наиндусил решение через 2 цикла for, вроде работает.

Logik
Offline
Зарегистрирован: 05.08.2014

Ну и где код?

JohnnyZ
Offline
Зарегистрирован: 08.06.2016
                for (j = 0; j < 2; j++)
                {
                for (i = 0; i < 5; i++)
                {
                  if (reading_card[i]!=cards_array[j][i])
                  {
                    break;
                  }
                    if (i == 4)
                    {
                    current_cell = j;
                    cell_open(current_cell);
                    }
                }
                }

 

Logik
Offline
Зарегистрирован: 05.08.2014

Ну вот второй цикл строки с 3 по  условие в ифе можна заменить на memcmp