Стандартная Библиотечная функция memcmp
не буду использоваться, чтобы выдержать сравнение, пустой указатель отключил строки
Стандартная Библиотечная функция memcmp
не буду использоваться, чтобы выдержать сравнение, пустой указатель отключил строки.
Это правило прибывает из MISRA C®: 2 012 Поправок 1.
Если memcmp
используется, чтобы сравнить две строки, и длина любой строки меньше количества сравненных байтов, строки могут казаться отличающимися, даже когда они - логически то же самое. Символы после пустого терминатора строки сравнены даже при том, что они не являются частью строки.
Например:
memcmp(string1, string2, sizeof(string1))
string1
более длинно, чем string2
.Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Стандартные библиотеки |
Категория: необходимый |
Категория AGC: необходимый |
MISRA C:2012 Rule 21.15
| MISRA C:2012 Rule 21.16
| Check MISRA C:2012 (-misra3)