常用的几个字符串函数的使用和实现
来源:互联网 发布:大连知行中学升学率 编辑:程序博客网 时间:2024/04/30 08:32
函数头文件string.h
①strlen()函数
此函数用于统计字符串的长度,不包括字符串结束字符’\0’。
如果字符个数和字符串大小相等,strlen()函数就无法返回确定值,例如:
char atr[5] = “abcde”;strlen()会一直往下检索,直到遇见’\0’,在遇到’\0’之前的区域是不确定的。
函数实现如下:
int strlen(const char *str){ int count = 0; assert(str != NULL); while(*str++ != '\0') { count++; } return count;}
②strcpy()函数
用于拷贝字符串。
函数实现如下:
char * strcpy(char * dst, const char * src){ char * cp = dst; while( *cp++ = *src++ ) ; /* Copy src over dst */ return( dst );}
将src指向的字符串拷贝至dst指向的数组中,返回dst的值即一个字符的地址。
此函数还有一个有用的属性:第1个参数不必指向数组的开始,可以实现拷贝数据的一部分。
例如:
int main(){ char str2[20] = "boy"; char str1[20] = "hello world"; strcpy(str1 + 6,str2); puts(str1); return 0;}
该程序的输出为:hello boy
③strcmp()函数
用于字符串的比较。
函数实现如下:
int strcmp (const char * src,const char * dst){ int ret = 0 ; while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) ++src, ++dst; if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return( ret );}
如果两个字符串相同,函数返回0。如果前者大于后者,返回大于0的值。前者小于后者,则返回小于0的值。
④strcat()函数
用于拼接字符串。
函数实现如下:
char * strcat (char * dst,const char * src){ char * cp = dst; while( *cp ) cp++; /* find end of dst */ while( *cp++ = *src++ ) ; /* Copy src to end of dst */ return( dst ); /* return dst */}
函数接受两个字符串为参数,把第2个字符串的备份附加在第1个字符串的末尾,并把拼接形成的新字符串作为第1个字符串。
strcat()函数的类型是char * 。即返回拼接完成后第1个字符串的地址。
⑤strstr()函数
函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
函数实现如下:
char * strstr (const char * str1,const char * str2){ char *cp = (char *) str1; char *s1, *s2; if ( !*str2 ) return((char *)str1); while (*cp) { s1 = cp; s2 = (char *) str2; while ( *s1 && *s2 && !(*s1-*s2) ) s1++, s2++; if (!*s2) return(cp); cp++; } return(NULL);}
0 0
- 常用的几个字符串函数的使用和实现
- 字符串的几个常用函数的C实现
- 几个字符串函数的实现
- 几个字符串函数的实现
- js 的几个常用的字符串函数
- 实现几个字符串常用函数
- 字符串处理的几个常用函数
- 几个常用的js字符串处理函数
- 常用的几个字符串Hash函数
- java中几个常用的字符串函数
- 编写关于字符串的几个常用函数
- 几个常见字符串函数的实现
- 几个字符串函数指针的实现
- 几个常见字符串函数的实现
- 实现字符串的一些常用字符串函数
- 几个常用的函数
- 常用的几个函数
- 几个常用的用正则表达式验证字符串的函数
- ASP.NET 自带对象 JSON字符串与实体类的转换
- 我的c51手机项目电路图
- c#设计模式==简单工厂模式
- Dialog详解及自定义对话框
- ZOJ-JAVE BEANS
- 常用的几个字符串函数的使用和实现
- AngularJS教程 AngularJS从0到1——初识AngularJS
- 20153743--2二叉树总结
- Backtrader量化平台教程(四)SSA策略实际案例
- C语言——带头节点单链表常见操作
- 码流、码率、比特率、帧速率、分辨率、 高清的区别
- Java异常类
- Java集合系列02 Collection架构
- Shader编程学习笔记(六)—— Fixed Function Shader 2