std:: strcmp
|
Определено в заголовочном файле
<cstring>
|
||
|
int
strcmp
(
const
char
*
lhs,
const
char
*
rhs
)
;
|
||
Сравнивает две строки байтов с нулевым завершением лексикографически.
Знак результата определяется знаком разницы между значениями первой пары символов (оба интерпретируются как unsigned char ), которые различаются в сравниваемых строках.
Поведение не определено, если lhs или rhs не являются указателями на строки, заканчивающиеся нулевым символом.
Содержание |
Параметры
| lhs, rhs | - | указатели на сравниваемые нуль-терминированные байтовые строки |
Возвращаемое значение
Отрицательное значение, если lhs появляется до rhs в лексикографическом порядке.
Ноль, если lhs и rhs сравниваются как равные.
Положительное значение, если lhs следует после rhs в лексикографическом порядке.
Пример
#include <algorithm> #include <cstring> #include <iostream> #include <vector> int main() { std::vector<const char*> cats{"Heathcliff", "Snagglepuss", "Hobbes", "Garfield"}; std::sort(cats.begin(), cats.end(), [](const char* strA, const char* strB) { return std::strcmp(strA, strB) < 0; }); for (const char* cat : cats) std::cout << cat << '\n'; }
Вывод:
Garfield Heathcliff Hobbes Snagglepuss
Смотрите также
|
сравнивает определённое количество символов из двух строк
(функция) |
|
|
сравнивает две широкие строки
(функция) |
|
|
сравнивает два буфера
(функция) |
|
|
сравнивает две строки в соответствии с текущей локалью
(функция) |
|
|
Документация C
для
strcmp
|
|