




版權(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 *strSrc) assert(strDes != NULL) & (strSrc != NULL); char *address = strDes; while (*strDes + = *strSrc +) != 0) NULL; return addr
2、ess;char *strchr_(char *str, int c) assert(str != NULL); while (*str != (char) c) & (*str != 0) str +; if (*str != 0) return str; return NULL;char *strchr(const char *str, int c) assert(str != NULL); for (; *str != (char) c; + str) if (*str = 0) return NULL; return (char *) str;int strcmp(const char
3、 *s, const char *t) assert(s != NULL & t != NULL); while (*s & *t & *s = *t) + s; + t; return (*s - *t);char *strcat(char *strDes, const char *strSrc) assert(strDes != NULL) & (strSrc != NULL); char *address = strDes; while (*strDes != 0) + strDes; while (*strDes + = *strSrc +) != 0) NULL; return ad
4、dress;int strlen(const char *str) assert(str != NULL); int len = 0; while (*str + != 0) + len; return len;char *strdup(const char *strSrc) assert(strSrc != NULL); int len = 0; while (*strSrc + != 0) + len; char *strDes = (char *) malloc (len + 1); while (*strDes + = *strSrc +) != 0) NULL; return str
5、Des;char *strstr(const char *strSrc, const char *str) assert(strSrc != NULL & str != NULL); const char *s = strSrc; const char *t = str; for (; *t != 0; + strSrc) for (s = strSrc, t = str; *t != 0 & *s = *t; +s, +t) NULL; if (*t = 0) return (char *) strSrc; return NULL;char *strncpy(char *strDes, co
6、nst char *strSrc, int count) assert(strDes != NULL & strSrc != NULL); char *address = strDes; while (count - & *strSrc != 0) *strDes + = *strSrc +; return address;char *strncat(char *strDes, const char *strSrc, int count) assert(strDes != NULL) & (strSrc != NULL); char *address = strDes; while (*str
7、Des != 0) + strDes; while (count - & *strSrc != 0 ) *strDes + = *strSrc +; *strDes = 0; return address;int strncmp(const char *s, const char *t, int count) assert(s != NULL) & (t != NULL); while (*s & *t & *s = *t & count -) + s; + t; return (*s - *t);char *strpbrk(const char *strSrc, const char *st
8、r) assert(strSrc != NULL) & (str != NULL); const char *s; while (*strSrc != 0) s = str; while (*s != 0) if (*strSrc = *s) return (char *) strSrc; + s; + strSrc; return NULL;int strcspn(const char *strSrc, const char *str) assert(strSrc != NULL) & (str != NULL); const char *s; const char *t = strSrc;
9、 while (*t != 0) s = str; while (*s != 0) if (*t = *s) return t - strSrc; + s; + t; return 0;int strspn(const char *strSrc, const char *str) assert(strSrc != NULL) & (str != NULL); const char *s; const char *t = strSrc; while (*t != 0) s = str; while (*s != 0) if (*t = *s) break; + s; if (*s = 0) re
10、turn t - strSrc; + t; return 0;char *strrchr(const char *str, int c) assert(str != NULL); const char *s = str; while (*s != 0) + s; for (- s; *s != (char) c; - s) if (s = str) return NULL; return (char *) s;char* strrev(char *str) assert(str != NULL); char *s = str, *t = str, c; while (*t != 0) + t;
11、 for (- t; s t; + s, - t) c = *s; *s = *t; *t = c; return str;char *strnset(char *str, int c, int count) assert(str != NULL); char *s = str; for (; *s != 0 & s - str = a & *s = A & *s = Z) *s += 0x20; s +; return str;void *memcpy(void *dest, const void *src, int count) assert(dest != NULL) & (src !=
12、 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 count) assert(dest != NULL) & (src != NULL); while (count -) *(char *) dest = *(char *) src; i
13、f (* (char *) src = (char) c) return (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 + 1; return NULL;int memcmp(const
14、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 *address = dest; while (count -) *(char *) dest = *(char *)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建東方茶韻水云天境展示區(qū)景觀方案
- 河北市個(gè)人房屋出租合同(20篇)
- 物業(yè)公司供暖工作總結(jié)范文(19篇)
- 2025年工程技術(shù)員述職報(bào)告范文(11篇)
- 軟件工程師辭職報(bào)告(16篇)
- 華師大版七年級上冊1 角第1課時(shí)教學(xué)設(shè)計(jì)
- 《小數(shù)的加減法》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年四年級上冊數(shù)學(xué)青島版(五四學(xué)制)
- 2025個(gè)人心得體會(19篇)
- 感恩類的演講稿模板(19篇)
- 東海個(gè)人房屋租賃合同(19篇)
- 2025年山東省東營市廣饒縣一中中考一模英語試題(原卷版+解析版)
- 形勢與政策(貴州財(cái)經(jīng)大學(xué))知到智慧樹章節(jié)答案
- 路面級配砂礫石墊層施工總結(jié)報(bào)告
- 主提升機(jī)司機(jī)培訓(xùn)課件
- 變壓器容量計(jì)算表
- 連續(xù)油管作業(yè)技術(shù)(共122頁).ppt
- 互聯(lián)網(wǎng)大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽培訓(xùn)
- 3號鋼筋加工場桁吊安裝方案
- 部編版(統(tǒng)編)六年級語文下冊文學(xué)常識及文化常識(共4頁)
- 《管子·弟子職》全文翻
- 人教版巴市杭錦后旗九年級化學(xué)上冊說課課件:第二單元 我們周圍的空氣》實(shí)驗(yàn)活動1 氧氣的實(shí)驗(yàn)室制取與性質(zhì)(17張PPT)
評論
0/150
提交評論