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