Как сравнить строки массива?
- Войдите на сайт для отправки комментариев
Пт, 01/06/2018 - 19:48
Уважаемые знакомки подскажите, как сравнить строки массива?
Т.е. есть массивы:
1) byte addr[8];
2) byte addr1[8][8];
Нужно написать условие, по которому полностью сравнивается строка массива addr со строкой addr1 и при отсутствии совпадения она бы записывалась в массив addr1. И так 8 раз. Есть совпадения ничего не пишем, есть уникальная строка, записываем… как это реализовать? Заранее спасибо!
см. memcmp.
Нужно написать условие,
Если нужно, - напишите.
Если там у Вас именно стрки (оканчивающиеся '\0'), то используйте функцию strcpm, а если произвольные куски памяти, то memcmp.
А когда напишете, если вдруг что-то не так, публикойте код и задавайте вопросы.
Смог сделать только так:
Но при этом, почему-то, не отрабатывает условие... Т.е. изначально массив addr содержит данные и при сравнении с пустым массивом addr1 они должны быть не равны... И далее addr1 должен скопировать в себя значения addr. Но почему то в итоге выводится строчка "False". Т.е. массивы вроде как одинаковые. Но это не так. Где я ошибся в условии?
1. Вставка программного кода в тему/комментарий(если не хотите получать ответы типа "у Вас ошибка в строке № ХЗ)
2. А что, наши советы про strcmp и memcmp прошли мимо?
2. А что, наши советы про strcmp и memcmp прошли мимо?
С реализацией пока не могу разобраться...
2. А что, наши советы про strcmp и memcmp прошли мимо?
С реализацией пока не могу разобраться...
Не, тебя в гугле забанили. И не только в гугле, а, по ходу, вообще везде. Ты не в чебурнете сидишь случаем? Вот тебе ссылка, пользуйся: https://www.google.ru/search?newwindow=1&rlz=1C1GGRV_enRU753RU753&ei=fsoSW8DQJcjawQKT9q-ACg&q=memcmp+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&oq=memcmp+%D0%BF%D1%80&gs_l=psy-ab.3.0.33i160k1l2.28843.29562.0.30953.3.3.0.0.0.0.183.359.0j2.2.0....0...1c.1.64.psy-ab..1.2.357...0j0i203k1.0.g3qJhc1Qfg0
Пока я вижу, что ты хочешь, чтобы написали ЗА ТЕБЯ. Сравнить два блока памяти - не бином Ньютона, разберёшься ;)
DIYMan большое спасибо!