字符及字符串操作(1) 您所在的位置:网站首页 strchr函数返回值 字符及字符串操作(1)

字符及字符串操作(1)

2024-01-05 10:34| 来源: 网络整理| 查看: 265

目录

1、memcmp:数据比较函数(区分字母大小写)

2、 memicmp:数据比较函数(不区分字母大小写)

3、strcmp:字符串比较函数(区分字母大小写)

4、stricmp(strcmpi):字符串比较函数(不区分字母大小写)

5、strncmp:字符串子串比较函数(区分字母大小写)

6、strnicmp(strncmpi):字符串子串比较函数(不区分字母大小写)

7、memcpy: 数据拷贝函数(不可用于重叠存储)

8、memccpy: 数据拷贝函数(遇指定字符编码停止)

 9、memmove: 数据拷贝函数(可用于重叠存储)

10、strcpy:字符串拷贝函数

11、strncpy:字符串子串拷贝函数

12、strdup:字符串新建拷贝函数

13、memchr:字符搜索函数

14、memrchr:字符逆向搜索函数

15、strchr:字符串中字符首次匹配函数

16、strrchr:字符串中字符末次匹配函数

17、strstr:字符串匹配函数

18、strspn:字符集匹配函数

19、strcspn:字符集逆匹配函数

20、strpbrk:字符集字符匹配函数

21、Strcat:字符串连接函数

22、strncat:字符串连接子串函数

23、strupr:字符串小写-大写转换函数

24、strlwr:字符串大写-小写转换函数

25、memset:数据设定函数

26、strset:字符串设定函数

27、strnset:字符串子串设定函数

28、strlen:计算字符串长度函数

29、strrev:字符串倒转函数

30、strtok:字符串分隔函数

1、memcmp:数据比较函数(区分字母大小写)

函数原型及源码:int memcmp(const void *buffer1,const void *buffer2,int count);

int memcmp(const void *buffer1,const void *buffer2,int count) { if (!count) return(0); while ( --count && *(char *)buffer1 == *(char *)buffer2) { buffer1 = (char *)buffer1 + 1; buffer2 = (char *)buffer2 + 1; } return( *((unsigned char *)buffer1) - *((unsigned char *)buffer2) ); }

函数功能:把存储区 buffer1和存储区 buffer2的前count个字节的码值进行逐个比较,比较过程区分大小写,即‘a’大于‘A’。

返回值:当buffer1中字符的码值大于、等于、小于buffer2相同位置的字符码值时,分别返回大于、等于、小于0的值。

例:

char *buf1 = "123456\n"; char *buf2 = "123456\n"; char *buf3 = "123455\n"; char *buf4 = "123457\n"; int rtn; rtn = memcmp(buf1,buf2,10); printf("src1等于src2:%d\n", rtn); rtn = memcmp(buf1, buf3, 10); printf("src1大于src2:%d\n", rtn); rtn = memcmp(buf1, buf4, 10); printf("src1小于src2:%d\n", rtn);

执行结果:

2、 memicmp:数据比较函数(不区分字母大小写)

函数原型及源码:int memicmp(const void *buffer1,const void *buffer2,int count);

#define CHRTOLOW(p) (((p) >= 'A'&& (p) 0) {return 1;} return 0; }

函数功能:把存储区 str1和存储区 str2的字符串的码值进行逐个比较,只对字符串比较,比较过程区分大小写,即‘a’大于‘A’。

返回值:当str1中字符的码值大于、等于、小于str2相同位置的字符码值时,分别返回大于、等于、小于0的值。

char *buf1 = "ABCDEF\n"; char *buf2 = "ABCDEF\n"; char *buf3 = "ABCDEE\n"; char *buf4 = "abcdef\n"; int rtn; rtn = strcmp(buf1, buf2); printf("src1等于src2:%d\n", rtn); rtn = strcmp(buf1, buf3); printf("src1大于src2:%d\n", rtn); rtn = strcmp(buf1, buf4); printf("src1小于src2:%d\n", rtn);

执行结果

4、stricmp(strcmpi):字符串比较函数(不区分字母大小写)

函数原型及源码:int stricmp(const char *str1, const char *str2)

int stricmp(const char *str1, const char *str2) { int ch1, ch2; do { if ( ((ch1 = (unsigned char)(*(str1++))) >= 'A') &&(ch1 = 'A') &&(ch2 = 'A') &&(ch1 = 'A') &&(ch2


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有