大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“C语言字符串操作函数的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
10年积累的成都网站建设、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有乌审免费网站建设让你可以放心的选择与我们合作。
#include#include #include /*******string库函数集合********/ int my_strlen(const char *str) { int ret = 0; assert(str != NULL); while(*str++ != '\0') ++ret; return ret; } /*******不得自定义变量*********/ int my_strlen2(const char *str) { if((*str) == '\0') return 0; else return (1 + my_strlen(++str)); } //=========字符串查找=========// char *my_strstr(char *strSrc, char *substr) { int i, j; int lenstr, sublen; int num; if(strSrc == NULL || substr == NULL) return NULL; lenstr = strlen(strSrc); sublen = strlen(substr); if(lenstr < sublen) return NULL; num = lenstr - sublen; for(i = 0; i <= num; i++) { for(j = 0; j < sublen; j++) { if(strSrc[i+j] != substr[j]) break; } if(j == sublen) return (strSrc + i); } return NULL; } char *my_strstr2(const char *strSrc, const char *str) { assert(strSrc != NULL && str != NULL); const char *s = strSrc; const char *t = str; for(; *strSrc != '\0'; ++strSrc) { for( s= strSrc, t = str; (*t != '\0') && (*s == *t); ++s, ++t ) { } if(*t == '\0') return (char *)strSrc; } return NULL; } //=========字符串拷贝=========// char *my_strcpy(char *strDst, char *strSrc) { if(strDst == strSrc) return strDst; assert( (strDst != NULL) && (strSrc != NULL) ); char *address = strDst; while( (*strDst++ = *strSrc++) != '\0'); return address; } char *my_strncpy(char *strDst, char *strSrc, int count) { assert(strDst != NULL && strSrc != NULL); char *address = strDst; while((count--) && (*strSrc != '\0')) *strDst ++ = *strSrc++; *strDst = '\0'; return address; } //==========字符串链接=========// char *my_strcat(char *strDst, const char *strSrc) { assert((strDst != NULL) && (strSrc != NULL)); char *address = strDst; while(*strDst != '\0') ++ strDst; while((*strDst++ = *strSrc++) != '\0'); return address; } char *my_strncat(char *strDst, const char *strSrc, unsigned int count) { assert((strDst != NULL) && (strSrc != NULL)); char *address = strDst; while(*strDst != '\0') ++strDst; while(count-- && *strSrc != '\0') *strDst++ = *strSrc++; *strDst = '\0'; return address; } //=========将字符串所有替换成字符=========// char *my_strset(char *str, int c) { assert(str != NULL); char *s = str; for(; *s != '\0'; ++s) *s = (char)c; return str; } char *my_strnset(char *str, int c, unsigned int count) { assert(str != NULL); char *s = str; for(; (*s != '\0') && ((s - str) iCount) { iCount = iTemp; strDst = strTemp; } if((*strSrc)=='\0') break; } strSrc++; } return strDst; } //======================================================== // 题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 // 分析:这道题是2006 年google 的一道笔试题。 // 思路:将所有出现的字符的个数存储在数组a中 //======================================================== char first_single_char(char *str) { int a[255]; char *p = str; memset(a, 0, 255*sizeof(int)); while(*p != '\0') { a[*p] ++; p++; } p = str; while((*p) != '\0') { if(a[*p] == 1) return *p; } return '\0'; } 花了一个下午,终于搞定。
“C语言字符串操作函数的实现方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!