Namespaces
Variants

std:: strcmp

From cppreference.net
ヘッダーで定義 <cstring>
int strcmp ( const char * lhs, const char * rhs ) ;

2つのヌル終端バイト文字列を辞書順に比較します。

結果の符号は、比較対象の文字列で異なる値を持つ最初の文字のペア(両方とも 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

関連項目

二つの文字列から指定された数の文字を比較する
(関数)
二つのワイド文字列を比較する
(関数)
二つのバッファを比較する
(関数)
現在のロケールに従って二つの文字列を比較する
(関数)