版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、以下是一些常見(jiàn)的C字符串處理函數(shù)的源代碼,當(dāng)然也是從網(wǎng)上找來(lái)的,學(xué)習(xí)它一個(gè)好處是加深理解C,另一個(gè)好外是應(yīng)聘面試中的筆試常常會(huì)用到它們,呵呵。當(dāng)然,還有一些沒(méi)有列出來(lái),或者有更好的實(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)用車租賃與農(nóng)業(yè)金融服務(wù)合作合同3篇
- 2025年度民間借貸金融產(chǎn)品設(shè)計(jì)與發(fā)行合同4篇
- 2025年度環(huán)境保護(hù)內(nèi)部承包合同補(bǔ)充協(xié)議4篇
- 二零二五年度廠房改造裝修與自動(dòng)化生產(chǎn)線合同3篇
- 2025年度出納財(cái)務(wù)擔(dān)保合同規(guī)范文本4篇
- 二零二五年度害蟲(chóng)防治培訓(xùn)與技術(shù)指導(dǎo)合同4篇
- 2025年度車輛檢測(cè)與維修服務(wù)合同范本12篇
- 2025年度鋼管架勞務(wù)分包合同(含新型施工技術(shù))
- 二零二五年度電商大數(shù)據(jù)營(yíng)銷合同模板3篇
- 2025年度港口碼頭岸電充電樁建設(shè)合同3篇
- 2024年山東省泰安市高考物理一模試卷(含詳細(xì)答案解析)
- 護(hù)理指南手術(shù)器械臺(tái)擺放
- 腫瘤患者管理
- 2025年中國(guó)航空部附件維修行業(yè)市場(chǎng)競(jìng)爭(zhēng)格局、行業(yè)政策及需求規(guī)模預(yù)測(cè)報(bào)告
- 2025春夏運(yùn)動(dòng)戶外行業(yè)趨勢(shì)白皮書(shū)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動(dòng)合同
- 2024年醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范培訓(xùn)課件
- 零部件測(cè)繪與 CAD成圖技術(shù)(中職組)沖壓機(jī)任務(wù)書(shū)
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)380題(含答案)
- 高低壓配電柜產(chǎn)品營(yíng)銷計(jì)劃書(shū)
評(píng)論
0/150
提交評(píng)論