目录

strstr

声明

返回值

strchar

声明

返回值

strchr和strstr的差别

strcat

声明

返回值

strcmp

声明

返回值

strcpy

声明

返回值

strlen

声明

返回值


strstr

声明

char *strstr(const char *haystack, const char *needle) //strstr函数声明

//用来查找haystack字符串中是否有needle字符串

其中haystack是被查找的字符串,needle是要在haystack中查找的字符串

函数可以用来查找在haystack中第一次出先needle的位置

返回值

返回在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返回 null。

#include <stdio.h>
#include <string.h>
main(){char a[20]="hi world";char b[20]="wo";printf("%s",strstr(a,b));
}//运行结果
world

在本例中,strstr返回的是w的位置,输出w位置后的字符串。

strchar

声明

char *strchr(const char *str, int c) //strchr的函数声明

//用来查找str字符串中是否有c字符

str是被查询的字符串,c是要在str字符串内查询的字符,

返回值

返回在 str 中第一次出现 字符c的位置,如果未找到则返回 null。

#include <stdio.h>
#include <string.h>
main(){char a[20]="hi world";char b='w';char c='i';char d=' ';printf("%s\n",strchr(a,b));printf("%s\n",strchr(a,c));printf("%s",strchr(a,d));
}//运行结果
world
i worldworld

在本例中查找了两个字符,分别是'i'、'w'和' ',strchr分别返回'i'、'w'和' '第一次出现的位置

strchr和strstr的差别

strchr查询的一个字符第一次出现的位置,strstr查询的是一个字符串第一次出现的位置

strcat

声明

char *strcat(char *dest, const char *src) //strcat的函数声明

//将dest字符串和src字符串接在一起,需要注意的是,dest对应的字符串必须可以容纳下追加的字符串

其中dest是被追加的字符串,src是要往dest字符串上追加的字符。追加就是不改变dest字符串的内容,将src写到dest字符串的末尾,相当于两个字符串连接在一起。

返回值

该函数返回一个指向最终的目标字符串 dest 的指针。

#include <stdio.h>
#include <string.h>
main(){char s[20]="abcd";char *sp=s;sp++;puts(strcat(sp,"ABCD"));
}//运行结果
bcdABCD

sp++后指针sp指向s字符串中b的位置,将"ABCD"追加到s字符串的末尾,输出时从sp指向的位置开始输出字符串。

strcmp

声明

int strcmp(const char *str1, const char *str2) //strcmp函数的声明

//比较两个字符串,根据str1和str2的值大小返回对应的值

返回值

  • 如果返回值小于 0,则表示 str1 小于 str2。
  • 如果返回值大于 0,则表示 str1 大于 str2。
  • 如果返回值等于 0,则表示 str1 等于 str2。
#include <stdio.h>
#include <string.h>
main(){char a[]="1234";char b[]="12345";char c[]="12345";printf("%d\n",strcmp(a,b));printf("%d\n",strcmp(b,a));printf("%d\n",strcmp(b,c));
}//运行结果
-1
1
0

strcpy

声明

char *strcpy(char *dest, const char *src) //strcpy函数的声明

//复制src指向的内容到dest指向的字符串中

将src中的内容复制到dest对应字符串内

返回值

该函数返回指向最终的目标字符串 dest 的指针。

#include <stdio.h>
#include <string.h>
main(){char a[]="abcd";char b[]="ABC";char *s=a;s++;printf("%s\n",strcpy(s,b));puts(a);
}//运行结果
ABC
aABC
//strcpy返回s指针对应的地址

s的地址指向的是a字符数组中的b,所以strcpy复制了b数组中的字符到a数组中b位置。

strlen

声明

size_t strlen(const char *str) //strlen的函数声明

//计算字符串的长度,碰到'\0'结束,不包括'\0'

返回值

字符串的实际长度

#include <stdio.h>
#include <string.h>
main(){char a[]="abcde";printf("%d",strlen(a));
}//运行结果
5

上述用到的代码可直接运行验证,所用编译环境为Dev-C++5.11

C语言常见字符串处理string.h库函数strstr、strchr、strcat、strcmp、strcpy、strlen的介绍相关推荐

  1. 字符串中常用的系统函数(strcat , strcmp , strcpy,strlen )

    字符串中常用的系统函数 (strcat 连接, strcmp 比较, strcpy 拷贝,效果相当于赋值,strlen 求有效字符个数) 1.strcat 函数 strcat 函数即字符串连接函数,其 ...

  2. C语言 处理字符串库 string.h

    void *memchr(const void *s, int c, size_t n); 在s指向对象的前n个字符中查找是否有c.如果找到,则返回首次出现c处的指针,如果未找到则返回NULL int ...

  3. c语言字符串操作面试题,C语言常见字符串面试题.pdf

    C语言常见字符串面试题 1. 字符串库函数的内部实现 memset库函数的实现 /* * memset - Fill a region of memory with the given value * ...

  4. C语言常见字符串函数、字符分类函数与内存函数的使用

    前言 C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串 中或者 字符数组 中.下面介绍C语言中的一些常用的字符串函数和内存函数的功能以及实现原理. 字 ...

  5. c语言标准库详解(七):字符串函数string.h

    c语言标准库详解(七):字符串函数<string.h> 头文件<string.h>中定义了两组字符串函数.第一组函数的名字以 str 开头:第二组函数的名字以 mem 开头.除 ...

  6. 字符串<string.h>头文件

    STRING.H 头文件 string.h 包含了 基本常见的字符串所需要的原型和声明. 下面是常用的几个str用法 strlen(s):返回字符串 s 的长度. strcpy(s1, s2):将字符 ...

  7. C 标准库 - string.h之strstr使用

    strstr Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not p ...

  8. c语言标准库字符串截取,C语言专题——标准库string.h

    1 复制 char* strcpy (char *s1, const char *s2); 将字符串s2复制到s1指定的地址 char* strncpy (char *s1, const char * ...

  9. c语言字符串未初始化strcat,C语言中字符串常用函数strcat与strcpy的用法介绍

    strcpy原型声明:extern char *strcpy(char* dest, const char *src); 头文件:#include 功能:把从src地址开始且含有NULL结束符的字符串 ...

最新文章

  1. gitlab图形化使用教程(测试过)
  2. 清官谈mysql中utf8和utf8mb4区别,请使用utf8mb4
  3. 《LeetBook》leetcode题解(5):Longest Palindromic [M]——回文串判断
  4. Gartner指明2014年几大战略技术趋势
  5. hibernate连接MySQL数据库
  6. Eclipse中java文件头注释格式设置
  7. 分布式、微服务与集群的区别
  8. Mysql 正序 空值在后
  9. [sublime系列文章] sublime text 3构建系统
  10. 国军标要求的产品“六性”到底是什么?
  11. 一部电影晓生活-韩国
  12. 极路由第三方插件大全_极路由极硬货HC5663春节折腾记
  13. 漫话:什么是架构师?
  14. Python之京东商品秒杀
  15. java限制ip登陆次数_手把手教你自定义IP访问次数限制器
  16. TFS映射关系出错的几种
  17. android 镜像文件img 介绍
  18. softmax的从零开始实现
  19. 谈一谈APP支付失败的处理
  20. Arduino通过RXTX联通JAVA实现数字温度计案例

热门文章

  1. FOB指定货操作标准流程及相关经验
  2. WP版网易云,解决启动慢问题
  3. 【转】Hadoop学习路线图
  4. 应用程序无法正常启动(0xc000007b) 问题解决
  5. PLC选型应考虑哪些因素
  6. 索引是什么,怎么确定索引
  7. PMP在线完成续证和缴费步骤
  8. BI解析,告诉你企业为什么选择商业智能BI?
  9. Unity-3d小游戏开发-----走迷宫
  10. 思维模型 瓦伦达效应