C语言常见字符串处理string.h库函数strstr、strchr、strcat、strcmp、strcpy、strlen的介绍
目录
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的介绍相关推荐
- 字符串中常用的系统函数(strcat , strcmp , strcpy,strlen )
字符串中常用的系统函数 (strcat 连接, strcmp 比较, strcpy 拷贝,效果相当于赋值,strlen 求有效字符个数) 1.strcat 函数 strcat 函数即字符串连接函数,其 ...
- C语言 处理字符串库 string.h
void *memchr(const void *s, int c, size_t n); 在s指向对象的前n个字符中查找是否有c.如果找到,则返回首次出现c处的指针,如果未找到则返回NULL int ...
- c语言字符串操作面试题,C语言常见字符串面试题.pdf
C语言常见字符串面试题 1. 字符串库函数的内部实现 memset库函数的实现 /* * memset - Fill a region of memory with the given value * ...
- C语言常见字符串函数、字符分类函数与内存函数的使用
前言 C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串 中或者 字符数组 中.下面介绍C语言中的一些常用的字符串函数和内存函数的功能以及实现原理. 字 ...
- c语言标准库详解(七):字符串函数string.h
c语言标准库详解(七):字符串函数<string.h> 头文件<string.h>中定义了两组字符串函数.第一组函数的名字以 str 开头:第二组函数的名字以 mem 开头.除 ...
- 字符串<string.h>头文件
STRING.H 头文件 string.h 包含了 基本常见的字符串所需要的原型和声明. 下面是常用的几个str用法 strlen(s):返回字符串 s 的长度. strcpy(s1, s2):将字符 ...
- 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 ...
- c语言标准库字符串截取,C语言专题——标准库string.h
1 复制 char* strcpy (char *s1, const char *s2); 将字符串s2复制到s1指定的地址 char* strncpy (char *s1, const char * ...
- c语言字符串未初始化strcat,C语言中字符串常用函数strcat与strcpy的用法介绍
strcpy原型声明:extern char *strcpy(char* dest, const char *src); 头文件:#include 功能:把从src地址开始且含有NULL结束符的字符串 ...
最新文章
- gitlab图形化使用教程(测试过)
- 清官谈mysql中utf8和utf8mb4区别,请使用utf8mb4
- 《LeetBook》leetcode题解(5):Longest Palindromic [M]——回文串判断
- Gartner指明2014年几大战略技术趋势
- hibernate连接MySQL数据库
- Eclipse中java文件头注释格式设置
- 分布式、微服务与集群的区别
- Mysql 正序 空值在后
- [sublime系列文章] sublime text 3构建系统
- 国军标要求的产品“六性”到底是什么?
- 一部电影晓生活-韩国
- 极路由第三方插件大全_极路由极硬货HC5663春节折腾记
- 漫话:什么是架构师?
- Python之京东商品秒杀
- java限制ip登陆次数_手把手教你自定义IP访问次数限制器
- TFS映射关系出错的几种
- android 镜像文件img 介绍
- softmax的从零开始实现
- 谈一谈APP支付失败的处理
- Arduino通过RXTX联通JAVA实现数字温度计案例