std::strcmp
Материал из cppreference.com
Определено в заголовочном файле <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
|