std::strcmp — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
||
Лексикографически сравнивает две строки байтов с нулевым завершающим символом.
Знак результата это знак разницы между значениями первой пары символов (оба интерпретируются как 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