Namespaces
Variants

std:: strcmp

From cppreference.net
헤더 파일에 정의됨 <cstring>
int strcmp ( const char * lhs, const char * rhs ) ;

두 개의 널 종료 바이트 문자열을 사전식으로 비교합니다.

결과의 부호는 비교 중인 문자열에서 서로 다른 첫 번째 문자 쌍의 값(둘 다 unsigned char 로 해석됨) 간의 차이의 부호와 동일합니다.

동작은 lhs 또는 rhs 가 널 종료 문자열에 대한 포인터가 아닌 경우 정의되지 않습니다.

목차

매개변수

lhs, rhs - 비교할 널 종료 바이트 문자열에 대한 포인터

반환값

음수 값은 lhs rhs 보다 사전식 순서에서 앞에 나타날 경우를 의미합니다.

lhs rhs 가 동일하게 비교되면 0입니다.

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

참고 항목

두 문자열에서 특정 수의 문자를 비교합니다
(함수)
두 개의 와이드 문자열을 비교합니다
(함수)
두 개의 버퍼를 비교합니다
(함수)
현재 로캘에 따라 두 문자열을 비교합니다
(함수)