c语言字符串操作函数
2016-07-19 17:40
204 查看
字符串:由零个或多个字符组成的有限序列。
在C语言库函数中,对字符串操作有一系列的函数。下面我们就自己模拟实现一些应用比较广泛的字符串操作函数。
1.字符串拷贝函数
2.求字符串长度的函数
方法一:
方法二:仿照库函数实现
3.字符串连接函数:连接两个字符串
4.字符串比较函数
5.在字符串中查找一个字符。若存在,则返回该字符第一次出现的位置;若不存在,则返回空。
6.在字符串中查找子串,若存在,则返回子串第一次出现的位置,不存在则返回空。
好啦,以上是c语言中对字符串的一些常用操作的实现,希望能给大家带来帮助,如有错误欢迎指出,谢谢阅读。
在C语言库函数中,对字符串操作有一系列的函数。下面我们就自己模拟实现一些应用比较广泛的字符串操作函数。
1.字符串拷贝函数
char* my_strcpy(char *dst, const char *src) //字符串拷贝函数 { assert(dst); assert(src); char *copyDst = dst; while (*copyDst++ = *src++); return dst; }
2.求字符串长度的函数
方法一:
size_t my_strlen(const char *str) //求字符串长度的函数 { assert(str); const char *copyStr = str; size_t count = 0; while (*copyStr++) { count++; } return count; }
方法二:仿照库函数实现
size_t my_strlen(const char *str) //求字符串长度的函数 { assert(str); const char *copyStr = str; while ( *copyStr++ ); return ( copyStr - str - 1 ); }
3.字符串连接函数:连接两个字符串
char* my_strcat(char *dst, const char *src) //字符串连接函数:连接两个字符串 { assert(dst); assert(src); char *copyDst = dst; while (*copyDst) { copyDst++; } while (*copyDst++ = *src++); return dst; }
4.字符串比较函数
int my_strcmp(const char *str1,const char *str2) //字符串比较函数 { assert(str1); assert(str2); while (*str1 || *str2) { if (*str1 > *str2) { return 1; } else if (*str1 < *str2) { return -1; } str1++; str2++; } if (*str1 == 0 && *str2 == 0) { return 0; } if (*str1 == 0) { return -1; } return 1; }
5.在字符串中查找一个字符。若存在,则返回该字符第一次出现的位置;若不存在,则返回空。
char* my_strchr(const char *str, char c) //在字符串中查找一个字符 { assert(str); while (*str) { if (*str == c) { return (char *)str; } str++; } return NULL; }
6.在字符串中查找子串,若存在,则返回子串第一次出现的位置,不存在则返回空。
char* my_strstr(const char *str1, const char *str2) { assert(str1); assert(str2); const char *cp1 = NULL; const char *cp2 = NULL; while (*str1) { cp1 = str1; cp2 = str2; while ( *cp1 && *cp2 && (*cp1 == *cp2) ) { cp1++; cp2++; } if (*cp2 == '\0') { return (char *)str1; } str1++; } return NULL; }
好啦,以上是c语言中对字符串的一些常用操作的实现,希望能给大家带来帮助,如有错误欢迎指出,谢谢阅读。
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 数据库链接字符串查询网站
- 如何写好 C main 函数
- 用PS实现纹理浮雕效果代码
- 用vbs实现cmd功能的代码
- jQuery Html控件基本操作(日常收集整理)
- Flex字符串比较 还有Flex字符串操作
- 用双网卡实现三机互联
- Ruby中创建字符串的一些技巧小结
- ASP下经常用的字符串等函数参考资料
- 将字符串小写转大写并延时输出的批处理代码
- 将字符串转换成System.Drawing.Color类型的方法
- Lua和C语言的交互详解
- Lua源码中字符串类型的实现
- Lua性能优化技巧(四):关于字符串
- 字符串聚合函数(去除重复值)
- ASP Cookies操作的详细介绍与实例代码
- perl数据库添加、删除、更新、查询操作例子
- Ruby中的字符串编写示例
- 防火墙基本操作