一些常见的字符串处理函数实现
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、芝罘网络推广、重庆小程序开发、芝罘网络营销、芝罘企业策划、芝罘品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供芝罘建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com字符串拷贝
char* strcpy(char* strDest,const char* strSrc) { assert(strDest!=NULL && strSrc!=NULL); char* strTmp = strDest; while(*strSrc!='\0') { *strDest++ = *strSrc++; } strDest = '\0'; return strTmp; }
内存拷贝
void * memcpy(void* strDest,void* strSrc,size_t size) { assert(strDest!=NULL && strSrc != NULL); void* strTmp = strDest; //考虑内存重叠情况 类似memmove if (strDest<=strSrc || (char*)strDest >= (char*)strSrc+size) { while(size--) { *(char*)strDest = *(char*)strSrc; strDest = (char*)strDest + 1; strSrc = (char*)strSrc + 1; } } else { strDest = (char*)strDest+size-1; strSrc = (char*)strSrc +size-1; while(size--) { *(char*)strDest = *(char*)strSrc; strDest = (char*)strDest-1; strSrc = (char*)strSrc-1; } } return strTmp; }
求字符串大小
int strlen(const char*strSrc) { assert(strSrc!= NULL); int len = 0; while((*strSrc++) != '\0') ++len; return len; }
两字符串连接
char* strcat(char* strDest,const char* strSrc) { assert((strDest != NULL) && (strSrc != NULL)); char* strTmp = strDest; while(*strDest != '\0') ++strDest; while(*strDest++ = *strSrc++) ; *strDest++ = '\0'; return strDest; }
字符串转×××数处理
int myAtoi(char* strSrc) { int iValue = 0; int flag=0; while (*strSrc == ' ') { strSrc++; } if(*strSrc == '-') { flag = -1; } else if(*strSrc == '+') { flag = 1; } else if(*strSrc > '9' || *strSrc < '0') { return 0; } while(*strSrc>='0' && *strSrc <= '9' && *strSrc ) { iValue = iValue*10 + *strSrc -'\0'; strSrc++; } if(flag == 0) iValue = iValue*(-1); return iValue; }
判断输入的是否是回文
bool isPalindrome(char* input) { if(input == NULL) return false; char* strBegin = input; char* strEnd = input+strlen(input)-1; while (strBegin < strEnd) { if(*strBegin++ != *strEnd--) return false; } return true; }
把一个char组成的字符串循环右移n个 void loopMove(char* pStr,int steps) { int nLen = strlen(pStr); if(nLen <= 0 || steps == 0) return; int nStep = steps % nLen; if(nStep == 0) return; char strTmp[128]; memcpy(strTmp,pStr+nLen-nStep,nStep); memcpy(strTmp+nStep,pStr,nLen-nStep); memcpy(pStr,strTmp,nLen); }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。