字符串的常用函数

目录

一、引入

二、13个字符串的常用函数

总结


一、引入

在C语言中,字符串被视为字符数组的序列,以空字符\0结尾。这个空字符不是数字0,而是一个特殊的控制字符,用于标记字符串的结束。例如,声明char name[7] = {'R', 'o', 'c', 'k', 'e, 't', '\0'};创建了一个字符串"Rocket"。C编译器在初始化数组时会自动在字符串末尾添加\0

字符串的操作是一个相对复杂的过程,但是用上C语言内部的字符串操作函数会节省很多工作,下面主要介绍13个字符串的常用函数。(全部包含在头文件string.h中)

二、13个字符串的常用函数

1.memset

函数原型:void *memset(void *buf,char ch,unsigned count)

功能:将字符ch复制到buf指向的数组前count个字符中。返回buf

2.memcpy

函数原型:void *memcpy(void *dest, const void *src, unsigned n)

功能:从src所指的内存地址拷贝n个字符到dest所指的内存地址。和strncpy不同,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。返回dest。

3.memmove

函数原型:void *memmove(void *dest,const void *src,unsigned n)

功能:从 src所指的内存地址拷贝n个字符到dest 所指的内存地址,和memcpy有一点不同,memcpy 的两个参数src和dest所指的内存区间如果重叠则无法保证正确拷贝, 而memmove却可以正确拷贝。返回dest。

4.strcat

函数原型:char *strcat(char *str1,char *str2)

功能:把字符串str2接到str1后面,str1最后的'\0'被取消。返回str1。

5.strchr

函数原型:char *strchr(char *str,int ch)

功能:找出str指向的字符串中第一次出现字符ch的位置。返回指向该位置的指针,若找不到,则返回空指针。

6.strcmp

函数原型:int strcmp(char *str1,char *str2)

功能:比较两个字符串str1和str2的字典序。str1<str2,返回负数;str1=str2,返回0;str1>str2,返回正数。

7.strcpy

函数原型:char *strcpy(char *str1,char *str2)

功能:把str2指向的字符串拷贝到str1中去。返回str1。

8.strlen

函数原型:unsigned int strlen(char *str)

功能:统计字符串str中的字符个数(不包括终止符'\0')。返回字符个数。

9.strlwr

函数原型:char *strlwr(char *str)

功能:将串str中的字母转为小写字母。返回str。

10.strncat

函数原型:char *strncat(char *str1,const char *str2,unsigned count)

功能:把字符串str2指向的字符串中最多count个字符连到串str1后面,并以'\0'结尾。返回str1。

11.strncpy

函数原型:char *strncpy(char *str1,const char *str2, unsigned count)

功能:把字符串str2指向的字符串中前count个字符复制到串str1中去。返回str1。

12.strstr

函数原型:char *strstr(char *str1,char *str2)

功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。返回该位置的指针,若找不到,返回空指针。

13.strupr

函数原型:char *strupr(char *str)

功能:将串str中的字母转换为大写字母。返回str。

注意:字符串的操作十分严苛,结尾必须有终止符'\0',不然以上函数可能无法正常发挥其功能。

为方便总结和对比,我汇总了一张表格:

总结

本节介绍了13个常用的字符串操作函数,正确使用可以在工作中减少很多工作量。本节到此结束,拜拜!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值