У меня есть массив из 16 байтов, который содержит имя исполняемого сегмента.
char segname[16];
Если длина имени сегмента меньше 16 байт, тогда остальное заполняется нулевыми байтами. В противном случае нулевой байт не завершается.
Я хочу сравнить segname
с различными строками, например. __text
.
Можно ли вызвать strncmp
с помощью строки с нулевым завершением?
Этот пост предполагает, что он является законным. Этот исходный код делает его законным. Но моя страница человека говорит:
Функция
strncmp()
лексикографически сравнивает строки с нулевым завершениемs1
иs2
.
Размер, передаваемый в strncmp
, будет иметь размер segname
.
Мне интересно, о чем я должен говорить.