首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::strcmp

Defined in header <cstring>

int strcmp( const char *lhs, const char *rhs );

按字典顺序比较两个以空结尾的字节字符串。

结果的符号是第一对字符%28的值之间差值的符号,这两个字符都被解释为unsigned char%29,在所比较的字符串中存在差异。

如果lhsrhs不是指向以空结尾的字符串的指针。

参数

lhs, rhs

-

pointers to the null-terminated byte strings to compare

返回值

负值lhs出现在前面rhs按字典顺序排列。

零中频lhsrhs比较平等。

正值lhs出现在rhs按字典顺序排列。

二次

代码语言:javascript
复制
#include <vector>
#include <cstring>
#include <algorithm>
#include <iostream>
 
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';
    }
}

二次

产出:

二次

代码语言:javascript
复制
Garfield
Heathcliff
Hobbes
Snagglepuss

二次

另见

strncmp

compares a certain amount of characters of two strings (function)

wcscmp

compares two wide strings (function)

memcmp

compares two buffers (function)

strcoll

compares two strings in accordance to the current locale (function)

c为strcmp编写的文档

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券