1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > C语言常见字符串处理string.h库函数strstr strchr strcat strcmp strcpy strlen的介绍

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

时间:2018-06-08 19:23:48

相关推荐

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));}//运行结果worldi 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));}//运行结果-110

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);}//运行结果ABCaABC//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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。