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. 【Effective Java】11、同步访问共享的可变数据

    这段时间看的部分感觉没啥需要记录下来的,个人也没什么想法,不过以后还是要多记,多写 package cn.xf.cp.ch02.item66; import java.util.concurrent. ...

  2. android 设置textview跑马灯效果

    head_tv1.setEllipsize(TextUtils.TruncateAt.MARQUEE);head_tv1.setSingleLine(true);head_tv1.setSelecte ...

  3. 多平台下Modbus通信协议库的设计(一)

    1.背景 1.1.范围 MODBUS 是 OSI 模型第 7 层上的应用层报文传输协议, 它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信. 自从 1979 年出现工业串行链路的事实标准以 ...

  4. css知多少(1)——我来问你来答

    1. 引言 各位前端或者伪前端(比如作者本人)的同志们,css对你们来说不是很陌生.比如我,在几年之前上大学的时候,给外面做网站就用css,而且必须用css.这样算下来也得六年多了,有些功能可能轻车熟 ...

  5. WPF实现强大的动态公式计算

    数据库可以定义表不同列之间的计算公式,进行自动公式计算,但如何实现行上的动态公式计算呢?行由于可以动态扩展,在某些应用场景下将能很好的解决实际问题. 1.VS2012新建一个WPF应用程序WpfApp ...

  6. javascript的switch的使用注意

    如果是以下代码: <script> var t_keleyi_com = 65; switch (t_keleyi_com) { case '65': alert("字符串65. ...

  7. Web数据持久化存储IndexedDB(不常用)

    IndexedDB是在浏览器中保存结构化数据的一种数据库,为了替换WebSQL(标准已废弃,但被广泛支持)而出现.IndexedDB使用NoSQL的形式来操作数据库,保存和读取是JavaScript对 ...

  8. C#开源项目汇总

    Discuz nt: 一个开源的论坛项目.估计你现在逛过大大小小的论坛没有成百上千,也有几十个吧,其中是个论坛6个以上都是Discuz(以前大部分都是php版的),现 在官方也早就放出了DotNet( ...

  9. Source Insight基本使用和快捷键

    Source Insight基本使用和快捷键 为什么要用Source Insight呢?貌似是因为比完整的IDE要更快一些,比较利于查看大量的代码. 软件的安装很简单,设置好安装目录. 配置好文档路径 ...

  10. 实现微信浏览器内打开App Store链接(已被和谐,失效了)

    微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做.比如你页面写 <a href=”http://itunes.apple.com/us/app/id399608199″& ...