名前空間
変種
操作

std::strcmp

From cppreference.com
< cpp‎ | string‎ | byte
 
 
 
 
ヘッダー <cstring> で定義
int strcmp( const char* lhs, const char* rhs );

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

結果の符号は、比較される文字列で最初に異なる文字のペア(両方とも unsigned char として解釈されます)の値の差の符号となります。

lhs または rhs がヌル終端文字列へのポインタでない場合、動作は未定義です。

目次

[編集] パラメータ

lhs, rhs - 比較するヌル終端バイト文字列へのポインタ

[編集] 戻り値

lhsが辞書順でrhsより前にある場合、負の値。

lhsrhsが等しく比較された場合はゼロ

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

[編集] 関連項目

2つの文字列から指定された文字数を比較する
(関数) [編集]
2つのワイド文字列を比較する
(関数) [編集]
2つのバッファを比較する
(関数) [編集]
現在のロケールに従って2つの文字列を比較する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)