C字串操作函數實現

來源:互聯網
上載者:User

下面是部分C字串操作函數的實現,或許在某些筆試時可以用到!

#ifndef NULL<br />#define NULL ((void *)0)<br />#endif</p><p>/*<br />memcpy的實現代碼<br />*/<br />void* memcpy(void *pDst, void *pSrc, int iLen)<br />{<br />char *pTmp = (char *)pDst;<br />char *pTmp2 = (char *)pSrc;</p><p>if(0 == iLen)<br />return pDst;<br />while(iLen--)<br />*pTmp++ = *pTmp2++;<br />return pDst;<br />}</p><p>/*<br />memset的實現代碼<br />*/<br />void* memset(void *pDst, int iSet, int iLen)<br />{<br />char *pTmp = (char *)pDst;<br />if(0 == iLen)<br />return pDst;<br />while(iLen--)<br />*pTmp++ = (char)iSet;<br />return pDst;<br />}</p><p>/*<br />strcpy的實現代碼<br />*/<br />char *strcpy(char *pDst, char *pSrc)<br />{<br />char *pRst = pDst;<br />do<br />*pDst++ = *pSrc;<br />while(*pSrc++);<br />return pRst;<br />}</p><p>/*<br />strcat的實現代碼<br />*/<br />char *strcat(char *s, char *a)<br />{<br />char *save = s;<br />for(; *s; ++s);<br />while((*s++ = *a++) != 0);<br />return save;<br />}</p><p>/*<br />strlen的實現代碼<br />*/<br />int strlen(char *pStr)<br />{<br />int iLen = 0;<br />while(*pStr++)<br />iLen++;<br />return iLen;<br />}</p><p>/*<br />strcmp的實現<br />*/<br />int strcmp(char *s, char *t)<br />{<br />for(; *s == *t; s++, t++)<br />{<br />if(('/0' == *s) || ('/0' == *t))<br />{<br />if(*s == *t)<br />return 0;<br />else<br />break;<br />}<br />}<br />return ((*s > *t) ? 1 : -1);<br />}</p><p>/*<br />strncmp的實現<br />*/<br />int m_strncmp(char *s, char *t, int n)<br />{<br />if(0 == n)<br />return 0;<br />for (; (--n > 0) && (*s==*t); s++,t++)<br />{<br />if ('/0'==*s)<br />return 0;<br />}<br />if(*s == *t)<br />return 0;<br />return ((*s > *t) ? 1 : -1);<br />}</p><p>/*<br />strstr的實現<br />*/<br />char* strstr(char *s, char *find)<br />{<br />char c, sc;<br />unsigned int len;</p><p>if ((c = *find++) != 0)<br />{<br />len = lzs_strlen(find);<br />do<br />{<br />do<br />{<br />if ((sc = *s++) == 0)<br />return (NULL);<br />} while (sc != c);<br />} while (lzs_strncmp(s, find, len) != 0);<br />s--;<br />}<br />return ((char *)s);<br />}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.