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;
}
相关推荐
云烟成雨TD7 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9657 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处7 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
cany10007 小时前
C++ -- 可变参数模板
c++
不会C语言的男孩8 小时前
C++ Primer 第2章:变量和基本类型
开发语言·c++
JustHappy8 小时前
古法编程秘籍(二):什么是代码模块化?别背概念,把房间收拾明白就够了
前端·后端
小江的记录本8 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处8 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
weixin_471383039 小时前
图片预解码缓存
前端·浏览器缓存·图片预解码
唐青枫9 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java