字符及字符串操作(1) | 您所在的位置:网站首页 › strchr函数返回值 › 字符及字符串操作(1) |
目录 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 实验室设备网 版权所有 |