【C语言】C语言字符串函数实现(一)
来源:互联网 发布:mysql 错误日志路径 编辑:程序博客网 时间:2024/03/29 05:40
1.字符串长度
size_t my_strlen(const char *string);
2.字符串的拷贝
char *my_strcpy(char *dest_str, const char *src_str);char *my_strncpy(char *dest_str, const char *src_str, size_t num);
3.字符串的比较
int my_strcmp(const char *string1, const char *string2);int my_strncmp(const char *string1, const char *string2, size_t num);
4.字符串的连接
char *strcat(char *dest_str, const *src_str);char *strncat(char *dest_str, const *src_str, size_t num);
5.字符串的查找
char *my_strchr(const char *string, int chr);int find_index(const char *string, int chr);
1.字符串的长度
功能:计算输入字符串长度
size_t my_strlen(const char *string){ const char *str = string; size_t length = 0; if(string == NULL){ return 0; } while(*str++ != '\0'){ length++; } return length;}
2.字符串的拷贝
功能:将已给定的字符串内容拷贝到另一个上
char *my_strcpy(char *dest_str, const char *src_str){ char *dest = dest_str; const char *src = src_str; //如果参数不合法,或者dest和src指向为同一个字符串,无需拷贝 if(dest_str == NULL || src_str == NULL || dest_str == src_str){ return dest_str; } //拷贝动作 while((*dest++ = *src++) != '\0'){ } return dest_str;}char *my_strncpy(char *dest_str, const char *src_str, size_t num){ char *dest = dest_str; const char *src = src_str; //如果参数不合法,或者dest和src指向为同一个字符串,无需拷贝 if(dest_str == NULL || src_str == NULL || dest_str == src_str){ return dest_str; } //拷贝动作 while( num-- && (*dest++ = *src++) != '\0'){ } return dest_str;}
3.字符串的比较
功能:传入两个字符串,比较str1和str2的大小。如果str1大于str2,则返回值为正;如果相等返回值为0;如果str1小于str2,返回值为负;
int my_strcmp(const char *str1, const char *str2){ do{ if(*str1 != *str2){ break; } str1++; str2++; }while(*str1 != '\0' || *str2 != '\0'); return (*str1-*str2);}int my_strncmp(const char *str1, const char *str2,size_t num){ int i = 0; do{ if(*str1 != *str2){ break; } str1++; str2++; i++; }while(*str1 != '\0' && *str2 != '\0' && i < num); return (*str1-*str2);}
4.字符串的连接
功能:将一个字符串拼接到另一个字符串后面
char *my_strcat(char *dest_str, const char *src_str){ // "hello,world" char *dest = dest_str; const char *src = src_str; if(dest_str == NULL || src_str == NULL){ return dest_str; } //首先要找到dest末尾 // "hello" dest += my_strlen(dest_str); my_strcpy(dest, src); return dest_str;}char *my_strncat(char *dest_str, const char *src_str, size_t num){ // "hello,world" char *dest = dest_str; const char *src = src_str; if(dest_str == NULL || src_str == NULL){ return dest_str; } //首先要找到dest末尾 // "hello" dest += my_strlen(dest_str); my_strncpy(dest, src, num); return dest_str;}
5.字符串的查找
char *my_strchr(const char *string, int chr){ const char *str = string; if(string != NULL){ //从头到尾查找和chr相等的第一个值,如果找到返回其地址 while(*str != '\0'){ if(*str == (char)chr){ return (char *)str; } str++; } } return NULL;}int find_index(const char *string, int chr){ // "hello,world" char *find_char = NULL; if((find_char = my_strchr(string, chr)) != NULL){ return find_char - string; }else{ return -1; }}//找字符在字符串中最后一次出现的位置char *strrchr(const char *string, int chr){ const char *str = string; char *p_char = NULL; if(string != NULL){ while(*str != '\0'){ if(*str == (char)chr){ p_char = (char *)str; } str++; } } return p_char;}
1 0
- 【C语言】C语言字符串函数实现(一)
- 字符串处理函数C语言实现(一)
- 常见字符串函数的模拟实现(一)(c语言)
- C语言字符串函数集锦(一)
- C语言字符串函数集锦(一)
- 【C语言】C语言字符串函数实现(二)
- C语言实现字符串函数
- C语言常用字符串函数的实现一
- C语言常用字符串处理函数(一)
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- c语言 字符串函数
- C语言字符串函数
- c语言字符串函数
- 服务器接收到的请求参数乱码问题
- 扩展系统功能——装饰模式(二):装饰模式概述
- Unity3D屏幕特效合成
- Concurrency4
- excel 跨表格数据汇总
- 【C语言】C语言字符串函数实现(一)
- 锁帧同步算法
- java字符串内存分析
- epoll为什么这么快,epoll的实现原理
- DeprecationWarning: the sets module is deprecated
- shell判断字符串为空
- 如何优化cocos2d/x程序的内存使用和程序大小
- Android中的Handler机制
- Android的WebView中js与java代码相互调用