C/C++编程笔记:C语言字符串比较函数,超详细,值得收藏!

article/2025/7/19 2:41:36

void *memset(void *dest, int c, size_t count);

将dest前面count个字符置为字符c.

返回dest的值.

 

void *memmove(void *dest, const void *src, size_t count);

从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理.

返回dest的值.

 

void *memcpy(void *dest, const void *src, size_t count);

从src复制count字节的字符到dest. 与memmove功能一样, 只是不能处理src和dest出现重叠.

返回dest的值.

 

void *memchr(const void *buf, int c, size_t count);

在buf前面count字节中查找首次出现字符c的位置. 找到了字符c或者已经搜寻了count个字节, 查找即停止.

操作成功则返回buf中首次出现c的位置指针, 否则返回NULL.

 

void *_memccpy(void *dest, const void *src, int c, size_t count);

从src复制0个或多个字节的字符到dest. 当字符c被复制或者count个字符被复制时, 复制停止.

如果字符c被复制, 函数返回这个字符后面紧挨一个字符位置的指针. 否则返回NULL.

 

int memcmp(const void *buf1, const void *buf2, size_t count);

比较buf1和buf2前面count个字节大小.

返回值< 0, 表示buf1小于buf2;

返回值为0, 表示buf1等于buf2;

返回值> 0, 表示buf1大于buf2.

 

int memicmp(const void *buf1, const void *buf2, size_t count);

比较buf1和buf2前面count个字节. 与memcmp不同的是, 它不区分大小写.

返回值同上.

 

size_t strlen(const char *string);

获取字符串长度, 字符串结束符NULL不计算在内.

没有返回值指示操作错误.

 

char *strrev(char *string);

将字符串string中的字符顺序颠倒过来. NULL结束符位置不变.

返回调整后的字符串的指针.

 

char *_strupr(char *string);

将string中所有小写字母替换成相应的大写字母, 其它字符保持不变.

返回调整后的字符串的指针.

 

char *_strlwr(char *string);

将string中所有大写字母替换成相应的小写字母, 其它字符保持不变.

返回调整后的字符串的指针.

 

char *strchr(const char *string, int c);

查找字符c在字符串string中首次出现的位置, NULL结束符也包含在查找中.

返回一个指针, 指向字符c在字符串string中首次出现的位置, 如果没有找到, 则返回NULL.

char *strrchr(const char *string, int c);

查找字符c在字符串string中最后一次出现的位置, 也就是对string进行反序搜索, 包含NULL结束符.

返回一个指针, 指向字符c在字符串string中最后一次出现的位置, 如果没有找到, 则返回NULL.

 

char *strstr(const char *string, const char *strSearch);

在字符串string中查找strSearch子串.

返回子串strSearch在string中首次出现位置的指针. 如果没有找到子串strSearch, 则返回NULL. 如果子串strSearch为空串, 函数返回string值.

 

char *strdup(const char *strSource);

函数运行中会自己调用malloc函数为复制strSource字符串分配存储空间, 然后再将strSource复制到分配到的空间中. 注意要及时释放这个分配的空间.

返回一个指针, 指向为复制字符串分配的空间; 如果分配空间失败, 则返回NULL值.

 

char *strcat(char *strDestination, const char *strSource);

将源串strSource添加到目标串strDestination后面, 并在得到的新串后面加上NULL结束符.

源串strSource的字符会覆盖目标串strDestination后面的结束符NULL. 在字符串的复制或添加过程中没有溢出检查,

所以要保证目标串空间足够大. 不能处理源串与目标串重叠的情况.

函数返回strDestination值.

 

char *strncat(char *strDestination, const char *strSource, size_t count);

将源串strSource开始的count个字符添加到目标串strDest后.

源串strSource的字符会覆盖目标串strDestination后面的结束符NULL. 如果count大于源串长度,

则会用源串的长度值替换count值. 得到的新串后面会自动加上NULL结束符. 与strcat函数一样, 本函数不能处理源串与目标串重叠的情况.

函数返回strDestination值.

 

char *strcpy(char *strDestination, const char *strSource);

复制源串strSource到目标串strDestination所指定的位置, 包含NULL结束符. 不能处理源串与目标串重叠的情况.

函数返回strDestination值.

 

char *strncpy(char *strDestination, const char *strSource, size_t count);

将源串strSource开始的count个字符复制到目标串strDestination所指定的位置.

如果count值小于或等于strSource串的长度, 不会自动添加NULL结束符目标串中, 而count大于strSource串的长度时,

则将strSource用NULL结束符填充补齐count个字符, 复制到目标串中. 不能处理源串与目标串重叠的情况.

函数返回strDestination值.

 

char *strset(char *string, int c);

将string串的所有字符设置为字符c, 遇到NULL结束符停止.

函数返回内容调整后的string指针.

 

char *strnset(char *string, int c, size_t count);

将string串开始count个字符设置为字符c, 如果count值大于string串的长度, 将用string的长度替换count值.

函数返回内容调整后的string指针.

 

size_t strspn(const char *string, const char *strCharSet);

查找任何一个不包含在strCharSet串中的字符 (字符串结束符NULL除外) 在string串中首次出现的位置序号.

返回一个整数值, 指定在string中全部由characters中的字符组成的子串的长度. 如果string以一个不包含在strCharSet中的字符开头, 函数将返回0值.

 

size_t strcspn(const char *string, const char *strCharSet);

查找strCharSet串中任何一个字符在string串中首次出现的位置序号, 包含字符串结束符NULL.

返回一个整数值, 指定在string中全部由非characters中的字符组成的子串的长度. 如果string以一个包含在strCharSet中的字符开头, 函数将返回0值.

 

char *strspnp(const char *string, const char *strCharSet);

查找任何一个不包含在strCharSet串中的字符 (字符串结束符NULL除外) 在string串中首次出现的位置指针.

返回一个指针, 指向非strCharSet中的字符在string中首次出现的位置.

 

char *strpbrk(const char *string, const char *strCharSet);

查找strCharSet串中任何一个字符在string串中首次出现的位置, 不包含字符串结束符NULL.

返回一个指针, 指向strCharSet中任一字符在string中首次出现的位置. 如果两个字符串参数不含相同字符, 则返回NULL值.

 

int strcmp(const char *string1, const char *string2);

比较字符串string1和string2大小.

返回值< 0, 表示string1小于string2;

返回值为0, 表示string1等于string2;

返回值> 0, 表示string1大于string2.

 

int stricmp(const char *string1, const char *string2);

比较字符串string1和string2大小,和strcmp不同, 比较的是它们的小写字母版本.

返回值与strcmp相同.

 

int strcmpi(const char *string1, const char *string2);

等价于stricmp函数, 只是提供一个向后兼容的版本.

 

int strncmp(const char *string1, const char *string2, size_t count);

比较字符串string1和string2大小,只比较前面count个字符. 比较过程中, 任何一个字符串的长度小于count, 则count将被较短的字符串的长度取代. 此时如果两串前面的字符都相等, 则较短的串要小.

返回值< 0, 表示string1的子串小于string2的子串;

返回值为0, 表示string1的子串等于string2的子串;

返回值> 0, 表示string1的子串大于string2的子串.

 

int strnicmp(const char *string1, const char *string2, size_t count);

比较字符串string1和string2大小,只比较前面count个字符. 与strncmp不同的是, 比较的是它们的小写字母版本.

返回值与strncmp相同.

 

char *strtok(char *strToken, const char *strDelimit);

在strToken 串中查找下一个标记, strDelimit字符集则指定了在当前查找调用中可能遇到的分界符.

返回一个指针, 指向在strToken中找到的下一个标记. 如果找不到标记, 就返回NULL值. 每次调用都会修改strToken内容, 用NULL字符替换遇到的每个分界符.


希望对你有帮助!

学习C/C++编程知识,想要成为一个更加优秀的程序员,或者你学习C/C++的时候有难度,可以来博主的C语言C++零基础编程学习圈,里面不仅有学习视频和文件源码,还有更多志同道合的朋友,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

微信公众号:C语言编程学习基地


http://chatgpt.dhexx.cn/article/OIHjtqIW.shtml

相关文章

【c语言】字符串比较 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

C/C++中比较字符串的方法

一、strcmp函数 适用对象 char*类型字符串 函数介绍 strcmp函数是cstring库中的函数&#xff0c;包含在string.h头文件中 用法 strcmp的两个参数都是char*类型&#xff0c;将要比较的字符串传入即可&#xff0c;根据返回值得到比较结果 举例 二、compare()函数 适用对象…

【c语言】字符串比较

独立实现标准字符串库的strcmp函数&#xff0c;即字符串比较函数&#xff0c;从键盘输入两个字符串&#xff0c;按字典序比较大小&#xff0c;前者大于后者输出1&#xff0c;前者小于后者输出-1&#xff0c;两者相等输出0。 样例输入: apple one 样例输出: -1 样例输入: hello…

C语言 - 比较字符串大小

程序源码 #include <stdio.h> int mStrcpy(char *s, char *s1, int len); int main() {char str[2][20];int i, j;printf("请输入2个字符串&#xff01;\n");for(i0; i<2; i)gets(str[i]);printf("字符串大小比较结果&#xff1a;%d\n", mStrcpy…

c语言比较两个字符串是否相等strcmp

c语言提供了几个标准库函数&#xff0c;可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子&#xff1a; #include <stdio.h> #include <string.h> int main(void) {char str_1[] "abc"; char str_2[] "abc";char str_3…

(c语言)比较三个字符串的大小

问题描述&#xff1a; 比较三个字符串的大小&#xff0c;并且按从小到大的顺序输出。 程序分析&#xff1a; 1.在写这个程序的时候&#xff0c;主要是写了一个swap函数&#xff0c;调用了标准库函数中的strcmp来实现的。 2.在写swap这个函数的时候将函数参数设置为两个二级…

c语言怎么进行字符串比较,c语言怎么进行字符串比较

比较方法:1、bcmp(),比较字符串的前n个字节是否相等;2、strcmp(),区分大小写的比较字符串;3、stricmp(),不区分大小写的比较字符串;4、strncmp()或strnicmp(),区分大小写的比较字符串的前n个字符。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 使用bcmp()–…

C语言中字符串之间的比较【char*】/【string】

在C/C语言中表示字符串的方式有两种&#xff1a; 1、char* a 2、string b 对于这两种方式各自之间比较又是怎么处理的呢&#xff1f; 我们知道&#xff0c;数值直接进行比较&#xff0c;直接用>、<、来判断。而对于一串字符这样比较对不对呢&#xff1f; 1、对于cha…

C语言中字符串比较

在 单片机串口实现字符串命令解析 这篇文章中分析了在串口通信中如何去解析字符串命令&#xff0c;这篇文章就来讨论下字符串比较的方法都有哪些&#xff1f; 说起比较运算&#xff0c;肯定第一时间想到了C语言中关于比较的相关运算符 “>、<、&#xff01;、>、<、…

【C语言】正确比较两个字符串

目录 两种常见的错误比较方法 &#xff08;1&#xff09;为什么两个字符串不能直接用大于小于号比较&#xff1f; &#xff08;2&#xff09;为什么不能用数组名直接比较 字符串比较大小的实质 两种比较字符串两种方法 &#xff08;1&#xff09;难的方法 &#xff08;2&…

课程设计:Java编写的基于KNN算法的手写数字识别软件

0x00 概述 本软件是使用Java语言编写的PC端图形界面程序&#xff0c;也支持命令行形式运行 主要功能为识别用户在软件内绘板上手写的数字 同时也支持使用给定的训练集批量识别符合本软件定义格式的手写数字&#xff08;该功能仅支持命令行形式使用&#xff09; 0x01 设计逻…

手写数字识别问题(5)——完结

经过接近15周的艰苦努力&#xff0c;毕业设计&#xff08;基于MATLAB的手写数字识别系统&#xff09;已经完结。 设计过程中遇到的部分问题可查阅博客&#xff1a; 手写数字识别问题&#xff08;1&#xff09;——关于MNIST数据集手写数字识别问题&#xff08;2&#xff09;—…

常用的OCR文字识别软件有哪些

随着大家办公需求的增加&#xff0c;办公软件如雨后春笋般纷纷面世&#xff0c;旨在提高大家的工作效率&#xff0c;OCR文字识别软件便是不可缺少的办公软件之一。那么&#xff0c;有哪些专业又好用的OCR文字识别软件呢&#xff1f;小编来为大家推荐几款&#xff0c;以供参考。…

安卓实现扫一扫识别数字

本文已授权微信公众号&#xff1a;鸿洋&#xff08;hongyangAndroid&#xff09;原创首发。 公司业务需求&#xff0c;需要做手机号码的识别。所以有了此篇文章&#xff0c;现在就将实现过程分享给大家。 1.准备工作 首先实现识别数字等字符&#xff0c;我们要知道需要采用OC…

ABBYY FineReader15最新版图片文字识别转换软件

在日常生活中&#xff0c;我们会遇到需要将各种文字、图片、扫描图片等转换为文字的情况。想要轻松解决这些问题&#xff0c;需要使用到OCR文字识别。但对于许多新手来说&#xff0c;OCR文字识别是陌生的。今天小编就给大家介绍一下&#xff0c;OCR文字识别怎么使用&#xff0c…

数字识别代码完整

数字识别代码 近期完成了一个数字识别的代码&#xff0c;开始也不会做&#xff0c;但通过了解和查询自己也了解到了一些在这你给大家做个分享&#xff08;本代码开发环境Opencv3&#xff09;这里分享给大家一个比较好的网址&#xff0c;我的代码也是参照的这个改动的完整的代码…

Labview OCR数字识别

::: keywords labview,OCR,灰度,对比度,数字识别 ::: 下载文件 前言 OCR &#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;是指电子设备&#xff08;例如扫描仪或数码相机&#xff09;检查纸上打印的字符&#xff0c;通过检测暗、亮的模式确定…

ABBYY15免费照片识别文字识别软件

照片识别文字的软件有哪些&#xff1f;在日常的工作的时候&#xff0c;小伙伴们是不是经常会借助拍摄照片记录一些比较重要的事情或者是一些比较重要的笔记&#xff0c;等回头空闲出来的时候在去整理&#xff0c;那么这时候&#xff0c;如果我们运用好图片识别文字这项技术&…

ABBYY FineReader15最新专业的PDF OCR图片文字识别软件

ABBYY FineReader PDF15是专业的OCR图片文字识别软件&#xff0c;可以快速、准确、方便地将扫描纸质文件、PDF格式及数字或移动电话图像转换成可编辑格式——Microsoft Word、Excel、PowerPoint、可检索的PDF、HTML、DjVu等。99.8%的识别准确率即刻识别文本&#xff0c;复制和粘…

怎么识别数字?看看这些识别软件能不能帮上你

随着数字时代的到来&#xff0c;数字在我们的生活中出现的频率也在不断的提高&#xff0c;而数字识别在我们的生活中也有了越来越重要的作用&#xff0c;给大家举个例子&#xff0c;当我们在商店购物时&#xff0c;往往需要使用银行卡进行支付&#xff0c;在这个过程中&#xf…