zoukankan      html  css  js  c++  java
  • C语言strchr()函数:查找某字符在字符串中首次出现的位置

    头文件:#include <string.h>

    strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:
        char * strchr (const char *str, int c);

    【参数】str 为要查找的字符串,c 为要查找的字符。

    strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。

    注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。

    【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。

    返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。

    提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。

    【实例】查找字符5首次出现的位置。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(){
        char *s = "0123456789012345678901234567890";
        char *p,*q;
        unsigned char tmp;
        p = strchr(s, '5');
        printf("原来的字符串:%s
    ", s);
        printf("5之后的字符串:%s
    ", p);
          
        tmp = (unsigned char)(strchr(s, '5')-s);
        q = (tmp > 0)?strndup(s, tmp):strdup(s);
        printf("5之前的字符串:%s
    ", q);
        return 0; 
    }
    
    运行结果:

    book@ubuntu:/home/linux_c/has_arg$ ./strchr1
    原来的字符串:0123456789012345678901234567890
    5之后的字符串:56789012345678901234567890
    5之前的字符串:01234

  • 相关阅读:
    手写Linq To Object
    4、IOC--内置Unity容器的使用
    WebApi 基于JWT实现Token签名认证
    软件架构师之路--观察者模式
    EF--封装三层架构IOC
    EF--主外键关系导航属性
    EF--EntityState相互转换
    证明task线程是来源于线程池的,线程重用
    3、IOC--手写Unity容器--链式依赖--第N层依赖注入
    2、IOC--手写Unity容器--第一层依赖注入
  • 原文地址:https://www.cnblogs.com/alan666/p/8311999.html
Copyright © 2011-2022 走看看