名稱空間
變體
操作

std::strcmp

來自 cppreference.com
< cpp‎ | string‎ | byte
在標頭檔案 <cstring> 中定義
int strcmp( const char* lhs, const char* rhs );

按字典順序比較兩個空終止位元組字串。

結果的符號是所比較字串中第一對不同字元的值(都解釋為 unsigned char)的差值的符號。

如果 lhsrhs 不是指向空終止字串的指標,則行為是未定義的。

目錄

[編輯] 引數

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

[編輯] 參閱

比較兩個字串的特定數量的字元
(函式) [編輯]
比較兩個寬字串
(函式) [編輯]
比較兩個緩衝區
(函式) [編輯]
根據當前區域設定比較兩個字串
(函式) [編輯]
C 文件 for strcmp