常見的字符串處理函數(shù)實(shí)現(xiàn)

一些常見的字符串處理函數(shù)實(shí)現(xiàn)

七里河網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,七里河網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為七里河上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個(gè)售后服務(wù)好的七里河做網(wǎng)站的公司定做!

字符串拷貝

char* strcpy(char* strDest,const char* strSrc)
{
	assert(strDest!=NULL && strSrc!=NULL);
	char* strTmp = strDest;
	while(*strSrc!='\0')
	{
		*strDest++ = *strSrc++;
	}
	strDest = '\0';
	return strTmp;
}

內(nèi)存拷貝

void * memcpy(void* strDest,void* strSrc,size_t size)
{
	assert(strDest!=NULL && strSrc != NULL);
	void* strTmp = strDest;
	//考慮內(nèi)存重疊情況 類似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;
}

字符串轉(zhuǎn)×××數(shù)處理

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;
}
把一個(gè)char組成的字符串循環(huán)右移n個(gè)
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);
}

分享標(biāo)題:常見的字符串處理函數(shù)實(shí)現(xiàn)
鏈接分享:http://muchs.cn/article24/ijohce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、App設(shè)計(jì)、網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司