strcmp
|
Определено в заголовочном файле
<string.h>
|
||
|
int
strcmp
(
const
char
*
lhs,
const
char
*
rhs
)
;
|
||
Сравнивает две строки байтов с нулевым завершением лексикографически.
Знак результата — это знак разницы между значениями первой пары символов (оба интерпретируются как unsigned char ), которые различаются в сравниваемых строках.
Поведение не определено, если lhs или rhs не являются указателями на байтовые строки с нулевым завершением.
Содержание |
Параметры
| lhs, rhs | - | указатели на сравниваемые нуль-терминированные байтовые строки |
Возвращаемое значение
Отрицательное значение, если lhs появляется перед rhs в лексикографическом порядке.
Ноль, если lhs и rhs равны при сравнении.
Положительное значение, если lhs появляется после rhs в лексикографическом порядке.
Примечания
Эта функция не зависит от локали, в отличие от strcoll и strxfrm .
Пример
#include <stdio.h> #include <string.h> void demo(const char* lhs, const char* rhs) { const int rc = strcmp(lhs, rhs); const char* rel = rc < 0 ? "precedes" : rc > 0 ? "follows" : "equals"; printf("[%s] %s [%s]\n", lhs, rel, rhs); } int main(void) { const char* string = "Hello World!"; demo(string, "Hello!"); demo(string, "Hello"); demo(string, "Hello there"); demo("Hello, everybody!" + 12, "Hello, somebody!" + 11); }
Вывод:
[Hello World!] precedes [Hello!] [Hello World!] follows [Hello] [Hello World!] precedes [Hello there] [body!] equals [body!]
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.24.4.2 Функция strcmp (стр: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.24.4.2 Функция strcmp (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.24.4.2 Функция strcmp (стр: 365-366)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.21.4.2 Функция strcmp (стр: 328-329)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 4.11.4.2 Функция strcmp
Смотрите также
|
сравнивает определённое количество символов двух строк
(функция) |
|
|
(C95)
|
сравнивает две широкие строки
(функция) |
|
сравнивает два буфера
(функция) |
|
|
сравнивает две строки в соответствии с текущей локалью
(функция) |
|
|
C++ documentation
для
strcmp
|
|