C字符串操作函数实现方法小结

时间:2021-05-20

本文实例讲述了C字符串操作函数实现方法。分享给大家供大家参考。具体如下:

下面是部分C字符串操作函数的实现,或许在某些笔试时可以用到!

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

希望本文所述对大家的C语言程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章