版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民辦學(xué)校校車(chē)服務(wù)合同2篇
- 2025版新能源汽車(chē)銷(xiāo)售與服務(wù)合同模板下載4篇
- 2025年度農(nóng)業(yè)科技項(xiàng)目知識(shí)產(chǎn)權(quán)保護(hù)合同8篇
- 2025版綠色建筑節(jié)能技術(shù)實(shí)施合同4篇
- 2025年度高端培訓(xùn)學(xué)校副校長(zhǎng)職務(wù)聘任合同4篇
- 二零二五年度農(nóng)家樂(lè)土地流轉(zhuǎn)與鄉(xiāng)村旅游發(fā)展合同
- 二零二五年度農(nóng)家樂(lè)房屋出租與鄉(xiāng)村旅游開(kāi)發(fā)合同
- 2025年度汽車(chē)租賃合同車(chē)輛違章處理范本3篇
- 案外人另案確權(quán)訴訟與執(zhí)行異議之訴的關(guān)系處理
- 二零二五年度民間借款擔(dān)保與資產(chǎn)保全服務(wù)合同樣本3篇
- 社會(huì)系統(tǒng)研究方法的重要原則
- 重癥醫(yī)學(xué)科健康宣教手冊(cè)
- 2022版《義務(wù)教育英語(yǔ)課程標(biāo)準(zhǔn)》解讀培訓(xùn)課件
- 科技進(jìn)步類(lèi)現(xiàn)代軌道交通綜合體設(shè)計(jì)理論與關(guān)鍵技術(shù)公
- 五個(gè)帶頭方面談心談話(huà)范文三篇
- 互聯(lián)網(wǎng)的發(fā)展歷程
- 部編人教版五年級(jí)道德與法治下冊(cè)全冊(cè)課件(完整版)
- 廣西貴港市2023年中考物理試題(原卷版)
- 外觀(guān)質(zhì)量評(píng)定報(bào)告
- 窒息的急救解讀課件
- 下腔靜脈濾器置入術(shù)共27張課件
評(píng)論
0/150
提交評(píng)論