std::strcmp
STD:斯特姆
Defined in header | | |
---|---|---|
int strcmp( const char *lhs, const char *rhs | | |
按字典顺序比较两个以空结尾的字节字符串。
结果的符号是第一对字符%28的值之间差值的符号,这两个字符都被解释为unsigned char
%29,在所比较的字符串中存在差异。
如果lhs
或rhs
不是指向以空结尾的字符串的指针。
参数
lhs, rhs | - | pointers to the null-terminated byte strings to compare |
---|
返回值
负值lhs
出现在前面rhs
按字典顺序排列。
零中频lhs
和rhs
比较平等。
正值lhs
出现在rhs
按字典顺序排列。
例
二次
#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';
}
}
二次
产出:
二次
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编写的文档
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。