常見的C字符串處理函數(shù)的源代碼-_第1頁
常見的C字符串處理函數(shù)的源代碼-_第2頁
常見的C字符串處理函數(shù)的源代碼-_第3頁
常見的C字符串處理函數(shù)的源代碼-_第4頁
常見的C字符串處理函數(shù)的源代碼-_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、以下是一些常見的C字符串處理函數(shù)的源代碼,當(dāng)然也是從網(wǎng)上找來的,學(xué)習(xí)它一個(gè)好處是加深理解C,另一個(gè)好外是應(yīng)聘面試中的筆試常常會用到它們,呵呵。當(dāng)然,還有一些沒有列出來,或者有更好的實(shí)現(xiàn)方法,你可以貢獻(xiàn)一下哦,share your code! :/stirng.c= =char *strcpy(char *strDes, const char *strSrcassert(strDes != NULL && (strSrc != NULL;/如果條件為假,就打印具體出錯(cuò)的問題char *address = strDes;while (*strDes + = *strSrc + !=

2、 '0' NULL;return address;char *strchr_(char *str, int cassert(str != NULL;while (*str != (char c && (*str != '0'str +;if (*str != '0'return str;return NULL;char *strchr(const char *str, int cassert(str != NULL;for (; *str != (char c; + strif (*str = '0'return

3、NULL;return (char * str;int strcmp(const char *s, const char *tassert(s != NULL && t != NULL;while (*s && *t && *s = *t+ s;+ t;return (*s - *t;char *strcat(char *strDes, const char *strSrcassert(strDes != NULL && (strSrc != NULL;char *address = strDes;while (*strDes !

4、= '0'+ strDes;while (*strDes + = *strSrc + != '0' NULL;return address;int strlen(const char *strassert(str != NULL;int len = 0;while (*str + != '0'+ len;return len;char *strdup(const char *strSrcassert(strSrc != NULL;int len = 0;while (*strSrc + != '0'+ len;char *strD

5、es = (char * malloc (len + 1;while (*strDes + = *strSrc + != '0' NULL;return strDes;char *strstr(const char *strSrc, const char *strassert(strSrc != NULL && str != NULL;const char *s = strSrc;const char *t = str;for (; *t != '0' + strSrcfor (s = strSrc, t = str; *t != '0&

6、#39; && *s = *t; +s, +tNULL;if (*t = '0'return (char * strSrc;return NULL;char *strncpy(char *strDes, const char *strSrc, int countassert(strDes != NULL && strSrc != NULL;char *address = strDes;while (count - && *strSrc != '0'*strDes + = *strSrc +;return addre

7、ss;char *strncat(char *strDes, const char *strSrc, int countassert(strDes != NULL && (strSrc != NULL;char *address = strDes;while (*strDes != '0'+ strDes;while (count - && *strSrc != '0' *strDes + = *strSrc +;*strDes = '0'return address;int strncmp(const char

8、*s, const char *t, int countassert(s != NULL && (t != NULL;while (*s && *t && *s = *t && count -+ s;+ t;return (*s - *t;char *strpbrk(const char *strSrc, const char *strassert(strSrc != NULL && (str != NULL;const char *s;while (*strSrc != '0's = str;wh

9、ile (*s != '0'if (*strSrc = *sreturn (char * strSrc;+ s;+ strSrc;return NULL;int strcspn(const char *strSrc, const char *strassert(strSrc != NULL && (str != NULL;const char *s;const char *t = strSrc;while (*t != '0's = str;while (*s != '0'if (*t = *sreturn t - strSrc;

10、+ s;+ t;return 0;int strspn(const char *strSrc, const char *strassert(strSrc != NULL && (str != NULL;const char *s;const char *t = strSrc;while (*t != '0's = str;while (*s != '0'if (*t = *sbreak;+ s;if (*s = '0'return t - strSrc;+ t;return 0;char *strrchr(const char *

11、str, int c assert(str != NULL;const char *s = str;while (*s != '0'+ s;for (- s; *s != (char c; - sif (s = strreturn NULL;return (char * s;char* strrev(char *strassert(str != NULL;char *s = str, *t = str, c;while (*t != '0'+ t;for (- t; s < t; + s, - tc = *s;*s = *t;*t = c;return s

12、tr;char *strnset(char *str, int c, int count assert(str != NULL;char *s = str;for (; *s != '0' && s - str < count; + s *s = (char c;return str;char *strset(char *str, int cassert(str != NULL;char *s = str;for (; *s != '0' + s*s = (char c;return str;char *strtok(char *strTo

13、ken, const char *strassert(strToken != NULL && str != NULL;char *s = strToken;const char *t = str;while (*s != '0't = str;while (*t != '0'if (*s = *t*(strToken + (s - strToken = '0'return strToken;+ t;+ s;return NULL;char *strupr(char *strassert(str != NULL;char *s =

14、str;while (*s != '0'if (*s >= 'a' && *s <= 'z'*s -= 0x20;s +;return str;char *strlwr(char *strassert(str != NULL;char *s = str;while (*s != '0'if (*s >= 'A' && *s <= 'Z'*s += 0x20;s +;return str;void *memcpy(void *dest, cons

15、t void *src, int countassert(dest != NULL && (src != NULL;void *address = dest;while (count -*(char * dest = *(char * src;dest = (char * dest + 1;src = (char * src + 1;return address;void *memccpy(void *dest, const void *src, int c, unsigned int countassert(dest != NULL && (src != NU

16、LL;while (count -*(char * dest = *(char * src;if (* (char * src = (char creturn (char *dest + 1;dest = (char * dest + 1; src = (char * src + 1; return NULL; void *memchr(const void *buf, int c, int count assert(buf != NULL; while (count - if (*(char * buf = c return (void * buf; buf = (char * buf +

17、1; return NULL; int memcmp(const void *s, const void *t, int count assert(s != NULL && (t != NULL; while (*(char * s && *(char * t && *(char * s = *(char * t && count - s = (char * s + 1; t = (char * t + 1; return (*(char * s - *(char * t; void *memmove(void *dest, const void *src, int count assert(dest != NULL && src != NULL; void *ad

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論