C++
编译器支持
自由(freestanding)与宿主(hosted)
语言
标准库
标准库头文件
具名要求
特性测试宏 (C++20)
语言支持库
概念库 (C++20)
诊断库
内存管理库
元编程库 (C++11)
通用工具库
容器库
迭代器库
范围库 (C++20)
算法库
字符串库
文本处理库
数值库
日期和时间库
输入/输出库
文件系统库 (C++17)
并发支持库 (C++11)
执行控制库 (C++26)
技术规范
符号索引
外部库
[编辑] 文本处理库
本地化库
正则表达式库 (C++11)
格式化库 (C++20)
空终止序列工具
字节字符串
多字节字符串
宽字符串
原生数值转换
to_chars(C++17)
to_chars_result(C++17)
from_chars(C++17)
from_chars_result(C++17)
chars_format(C++17)
文本编码标识
text_encoding(C++26)
[编辑] 空终止字节字符串
函数
字符分类
isalnum
isalpha
islower
isupper
isdigit
isxdigit
isblank(C++11)
iscntrl
isgraph
isspace
isprint
ispunct
字符操作
tolower
toupper
转换为数字格式
atof
atoiatolatoll(C++11)
strtolstrtoll(C++11)
strtoulstrtoull(C++11)
strtofstrtodstrtold(C++11)(C++11)
strtoimaxstrtouimax(C++11)(C++11)
字符串操作
strcpy
strncpy
strxfrm
strcat
strncat
字符串检查
strlen
strcmp
strncmp
strcoll
strchr
strrchr
strspn
strcspn
strpbrk
strstr
strtok
字符数组函数
memchr
memcmp
memset
memcpy
memmove
杂项
strerror
[编辑]
在头文件
int strcmp( const char* lhs, const char* rhs );
按字典顺序比较两个空终止字节字符串。
结果的符号是所比较字符串中第一对不同字符的值(都解释为 unsigned char)的差值的符号。
如果 lhs 或 rhs 不是指向空终止字符串的指针,则行为是未定义的。
目录
1 参数
2 返回值
3 示例
4 参见
[编辑] 参数
lhs, rhs
-
指向要比较的空终止字节字符串的指针
[编辑] 返回值
如果 lhs 在字典顺序上出现在 rhs 之前,则为负值。
如果 lhs 和 rhs 比较相等,则为零。
如果 lhs 在字典顺序上出现在 rhs 之后,则为正值。
[编辑] 示例
运行此代码
#include
#include
#include
#include
int main()
{
std::vector
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
比较两个字符串的特定数量的字符 (函数) [编辑]
wcscmp
比较两个宽字符串 (函数) [编辑]
memcmp
比较两个缓冲区 (函数) [编辑]
strcoll
根据当前区域设置比较两个字符串 (函数) [编辑]
C 文档 for strcmp