C语言(函数)学习之[strstr]&[strcasestr]一、strstr函数使用[1]函数原型char*strstr(constchar*haystack,constchar*needle);[2]头文件#include <string.h>[3]函数功能搜索"子串"在"指定字符串"中第一次出现的位置{4}参数说明haystack-->被查找的目标字符串"父串"needle-->要查找的字符串对象"子串"注:若needle为NULL,则返回"父串"[5]返回值(1)成功找到,返回在"父串"中第一次出现的位置的char*指针(2)若未找到,也即不存在这样的子串,返回:"NULL"[6]程序举例#include <stdio.h>#include <string.h>intmain(intargc,char*argv[]){char*res=strstr("xxxhost: www.baidu.com","host");if(res==NULL)printf("res1 is NULL!\n");elseprintf("%s\n",res);print:-->'host: www.baidu.com'res=strstr("xxxhost: www.baidu.com","cookie");if(res==NULL)printf("res2 is NULL!\n");elseprintf("%s\n",res);print:-->'res2 is NULL!'return0;}[7]特别说明注:strstr函数中参数严格"区分大小写"二、strcasestr函数[1]描述strcasestr函数的功能、使用方法与strstr基本一致[2]区别strcasestr函数在"子串"与"父串"进行比较的时候,"不区分大小写"[3]函数原型#define _GNU_SOURCE#include <string.h>char*strcasestr(constchar*haystack,constchar*needle);[4]程序举例#define _GNU_SOURCE // 宏定义必须有,否则编译会有Warning警告信息 #include <stdio.h>#include <string.h>intmain(intargc,char*argv[]){char*res=strstr("xxxhost: www.baidu.com","Host");if(res==NULL)printf("res1 is NULL!\n");elseprintf("%s\n",res);print:-->'host: www.baidu.com'return0;}[5]重要细节如果在编程时没有定义"_GNU_SOURCE"宏,则编译的时候会有警告信息warning:initializationmakespointerfromintegerwithoutacast原因:strcasestr函数并非是标准C库函数,是扩展函数。函数在调用之前未经声明的默认返回int型解决:要在#include所有头文件之前加 #define_GNU_SOURCE另一种解决方法:(但是不推荐)在定义头文件下方,自己手动添加strcasestr函数的原型声明#include <stdio.h>......externchar*strcasestr(constchar*,constchar*);......// 这种方法也能消除编译时的警告信息

版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言(函数)学习之strstr strcasestr的更多相关文章

  1. C语言(函数)学习之index、rindex

    函数定义:char *index(const char *s, int c); 头文件:    #include strings.h 函数说明:index()用来找出参数s 字符串中第一个出现的参数c ...

  2. 学习LoadRunner之C语言函数

    学习LoadRunner之C语言函数 Action() { /*strchr和strrchr的区别*/ /* char *strTest1="citms citms"; char ...

  3. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  4. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  5. R语言函数化学习笔记6

    R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...

  6. R语言函数化学习笔记3

    R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...

  7. 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?

    基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...

  8. GO语言学习(十二)Go 语言函数

    Go 语言函数 函数是基本的代码块,用于执行一个任务. Go 语言最少有个 main() 函数. 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务. 函数声明告诉了编译器函数的名称,返回 ...

  9. C语言课程学习的总结

    C语言课程学习的总结 学习C程序这门课一年了,这是我们学的第一门专业课.在大学里,C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程.所以作为我这个计算机专业的学生来说当 ...

随机推荐

  1. LR常见问题整理

    1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. LR11 无法弹出ie浏览 ...

  2. Linux修改SSH端口,并禁止Root远程登陆

    1.更改ssh远程登录端口: #vi /etc/ssh/ssh_config将port改为你想要的端口,例如8888.默认是#port 22,把#号删掉改为 port 8888即可. 还要更改以下文件 ...

  3. jQuery自定义漂亮的下拉框插件8种效果

    jquery美化选择器实例有:边框.下划线. 伸缩 .滑动. 覆盖. 旋转. 弹出层选择 .环形效果. 在线预览 实例代码 <body class="demo-1"> ...

  4. C#如何定制Excel界面并实现与数据库交互

    Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理.统计分析和辅助决策操作,广泛地应用于管理.统计财经.金融等众多领域.(另外,Excel还是伦敦一所会展中心的名称)..NET ...

  5. 使用 JavaScript 实现灵活的固定导航功能

    如果你想在网页中实现灵活的固定导航功能,那么 Smart Fixed Navigation 这个 JavaScript 小脚本可以帮助轻松实现一个固定的导航,让用户在访问你的网站的时候可以随时使用菜单 ...

  6. 20个基于 WordPress 搭建的精美网站

    WordPress 无处不在,小到人博客,大到广受欢迎的各类特色网站,你都能发现 WordPress 的影子,因为它是创建和维护一个网站最容易使用的平台. 另外,网络上有很多资源来创建你的网站,你基本 ...

  7. CSS常用标签

    CSS常用标签 一 CSS文字属性 color : #999999; /*文字颜色*/ font-family : 宋体,sans-serif; /*文字字体*/ font-size : 9pt; / ...

  8. servle

      基于HTTP协议下的,http请求和http响应.   http请求------请求的是服务器中的地方. 1.servlet就是解析http请求和发送http响应.   2.servlet是是一个 ...

  9. jQuery绑定事件的四种方式

      jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都 ...

  10. Autodesk 360 Mobile不能显示图片?

    在6月21号的DevLab上,有一位朋友说Autodesk 360 Mobile在iPad上不能显示JPG图片预览.我当时没带iPad,不能测试.后天回家在Autodesk 360 Mobile 3. ...