首页 > 其他分享 >【C语言_21】处理字符串的函数!

【C语言_21】处理字符串的函数!

时间:2022-10-11 12:00:46浏览次数:70  
标签:count 21 dest void C语言 char int 字符串

前言

使用以下函数均需要添加头文件#include<string.h>

1.strlen函数

  • 获取字符串的长度
  • 从第一个字符开始直到遇见\0,返回字符串的长度
size_t strlen(const char* str);
//size_t一个整型类型表示字符串的长度
//size_t已有整型变量(unsigned int,unsigned long,unsigned long long)的别名
//const保证不会修改指针指向的字符

2.strcat函数

  • 字符串拼接函数
  • 将源字符串拼接到目标字符串的后面

char* strcat(char* destination,char* source);
#include<stdio.h>
int main()
{
char dest[11]="hello";
char sour[6]="world";
printf("%s\n",dest);
printf("%s\n",sour);
strcat(dest,sour);
printf("%s\n",dest);
printf("%s\n",sour);
return 0;
}

【C语言_21】处理字符串的函数!_strcmp函数

 

3.strcpy函数

  • 字符串复制函数
  • 把sour 所指向的字符串复制到dest。 需要注意的是如果目标数组dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。
char* strcpy(char* destination,const char* source);
#include<stdio.h>
int main()
{
char dest[9]="ILOVE";
char sour[4]="YOU";
printf("%s\n",dest);
printf("%s\n",sour);
strcpy(dest,sour);
printf("%s\n",dest);
printf("%s\n",sour);
return 0;
}

【C语言_21】处理字符串的函数!_strcmp函数_02

4.strcmp函数

  • 比较两个字符串,若一致返回0,否则返回其他值。
int strcmp(const char* str1,const char* str2);
#include<stdio.h>
int main()
{
const char* str1="zxcvbn";
const char* str2="zxcvbnm";
const char* str3="zxcvb";
int r=strcmp(str1,str2);
}

5.<string.h>库函数总结

int bcmp(const void *s1, const void *s2, int n)
//比较字符串s1和s2的前n个字节是否相等

void bcopy(const void *src, void *dest, int n)
//将字符串src的前n个字节复制到dest中

void bzero(void *s, int n)
//置字节字符串s的前n个字节为零

void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count)
//由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制

void *memcpy(void *dest, void *src, unsigned int count)
//由src所指内存区域复制count个字节到dest所指内存区域

void *memchr(void *buf, char ch, unsigned count)
//从buf所指内存区域的前count个字节查找字符ch

int memcmp(void *buf1, void *buf2, unsigned int count)
//比较内存区域buf1和buf2的前count个字节

int memicmp(void *buf1, void *buf2, unsigned int count)
//比较内存区域buf1和buf2的前count个字节但不区分字母的大小写

void *memmove(void *dest, const void *src, unsigned int count)
//由src所指内存区域复制count个字节到dest所指内存区域

void *memset(void *buffer, int c, int count)
//把buffer所指内存区域的前count个字节设置成字符c

void setmem(void *buf, unsigned int count, char ch)
//把buf所指内存区域前count个字节设置成字符ch

void movmem(void *src, void *dest, unsigned int count)
//由src所指内存区域复制count个字节到dest所指内存区域

char *strcpy(char *dest,char *src)
//把src所指由NULL结束的字符串复制到dest所指的数组中

char *strcat(char *dest,char *src)
//把src所指字符串添加到dest结尾处(覆盖dest结尾处的’\0’)并添加’\0’

char *strchr(char *s,char c)
//查找字符串s中首次出现字符c的位置

int strcmp(char *s1,char * s2)
//比较字符串s1和s2

int stricmp(char *s1,char * s2)
//比较字符串s1和s2,但不区分字母的大小写

int strcspn(char *s1,char *s2)
//在字符串s1中搜寻s2中所出现的字符

char *strdup(char *s)
//复制字符串s

int strlen(char *s)
//计算字符串s的长度

char *strlwr(char *s)
//将字符串s转换为小写形式

char *strupr(char *s)
//将字符串s转换为大写形式

char *strncat(char *dest,char *src,int n)
//把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的’\0’)并添加’\0’

int strcmp(char *s1,char * s2,int n)
//比较字符串s1和s2的前n个字符

int strnicmp(char *s1,char * s2,int n)
//比较字符串s1和s2的前n个字符但不区分大小写

char *strncpy(char *dest, char *src, int n)
//把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中

char *strpbrk(char *s1, char *s2)
//在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内

char *strrev(char *s)
//把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)

char *strset(char *s, char c)
//把字符串s中的所有字符都设置成字符c

char *strstr(char *haystack, char *needle)
//从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)

char *strtok(char *s, char *delim)
//分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串

int strnicmp(char *s1,char * s2,int n)
//比较字符串s1和s2的前n个字符但不区分大小写

持续更新【C语言】系列!有需要的移步主页​​秃头程序媛主页​

标签:count,21,dest,void,C语言,char,int,字符串
From: https://blog.51cto.com/u_15420562/5746029

相关文章

  • 用于大规模视觉定位的直接2D-3D匹配(IROS 2021)
    论文标题:RecallingDirect2D-3DMatchesforLarge-ScaleVisualLocalization作者:ZhuoSong1,ChutingWang2, YuqianLiu3, ShuhanShen1*​论文链接:https://ieee......
  • Solution Set -「NOIP Simu.」20221011
    「Unknown」找  给出平面上\(n\)个点,对于每个点,求出它到其他点的欧式距离平方和.  \(n\le2\times10^5\).  Tag:「水题无tag」  画风正常的签到题.\(d......
  • 字符串容器
    字符串是字符的容器,一个字符串可以存放任意数量的字符和其它容器如:列表、元组一样,字符串也可以通过下标进行访问从前向后,下标从0开始从后向前,下标从-1开始同元......
  • 1790. 仅执行一次字符串交换能否使两个字符串相等
    1790.仅执行一次字符串交换能否使两个字符串相等给你长度相等的两个字符串s1和s2。一次字符串交换操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这......
  • Premiere Pro 2021 for Mac(pr 2021 直装版)mac/win
    PremierePro2021forMac是Adobe公司旗下的一款功能强大的视频编辑软件,具有智能化视频剪辑工具,可以为您提供采集、剪辑、调色、美化音频、字幕添加、输出、DVD刻录的一整......
  • Jenkins 20221010笔记本8
                      ......
  • 首篇博客:C语言初体验
    这是我的第一篇博客,我打算以周记的形式来写我的博客文章,我是22届郑州轻工业大学计算机类大一学生,刚刚接触c语言想要写一下自己的感受。在起初学c语言时感觉并非太难,而在实......
  • 代码随想录训练营|Day 21|530,501,236
    530.MinimumAbsoluteDifferenceinBSTGiventhe root ofaBinarySearchTree(BST),return theminimumabsolutedifferencebetweenthevaluesofanytwod......
  • SQL 修改语句: 字符串首字母大写 All In One
    SQL修改语句:字符串首字母大写AllInOneSQL用户名第一个字符转换成大写的,其余字符都转换成小写的demo字符串拼接https://leetcode.cn/problems/fix-names-i......
  • navisworks2021保姆级下载安装教程
     navisworks2021WIN1064位安装步骤:1.先使用“百度网盘客户端”下载NV_CN_2021软件安装包到电脑磁盘里,并解压缩,安装前先断网,然后找到Autodesk_Navisworks_Manage_2021_......