C++常用库函数——strcmp、strchr

1、strcmp:比较两个字符串的值是否相等

例如

复制代码
    char a1[6] = "AbDeG",
        *s1 = a1;
    char a2[6] = "AbdEg",
        * s2 = a2;
    s1 += 2;
    s2 += 2;
    printf("%d \n", strcmp(s1, s2));
    return(0);

s1指向a1,s2指向a2,strcmp表示比较s1和s2是否相等,返回值是-1,输出-1

2、strchr:字符串查找字符,返回值是地址

strchr(str, ch):在参数 str 所指向的字符串中搜索第一次出现字符 ch(一个无符号字符)的位置,返回str+i,其中 i 是字符 c 在字符串 str 中的索引,从 0 开始计数。如果在字符串 str 中没有找到字符 c,那么返回的指针就是 NULL,也就是 0。

例如

复制代码
int strchn(char* str, char ch)
{
    return strchr(str, ch) - str + 1;
}
int main()
{
    char str[] = "helloworld";
    char ch = 'w';
    printf("%d\n", strchn(str, ch));
    return 0;
}
相关推荐
计算机安禾14 小时前
【c++面向对象编程】第36篇:析构函数应永远不抛出异常——原因与最佳实践
开发语言·c++
小飞侠是个胖子14 小时前
在 WebGL 中构建高性能 3D 沉浸式系统的三套高阶方案
前端·3d
tongluowan00714 小时前
怎么保证缓存和数据库的一致性
java·数据库·缓存·一致性
一条泥憨鱼14 小时前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
ゆづき14 小时前
假如编程语言们有外号
java·c语言·c++·python·学习·c#·生活
wh_xia_jun14 小时前
Vue3 + Vitest 浏览器测试 从零开发指南
前端·javascript·vue.js
凤山老林14 小时前
63-Java LinkedList(链表)
java·开发语言·链表
FlyWIHTSKY14 小时前
区块链前端技术栈介绍
前端·区块链
唐青枫14 小时前
别再让 key 写成字符串:TypeScript keyof 从入门到实战
前端·javascript·typescript
TDengine (老段)14 小时前
TDengine 支持数据类型深度解析 — 类型体系、存储编码与选型指南
java·大数据·数据库·系统架构·时序数据库·tdengine·涛思数据