




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、以下是一些常見的C字符串處理函數(shù)的源代碼,當然也是從網(wǎng)上找來的,學習它一個好處是加深理解C,另一個好外是應聘面試中的筆試常常會用到它們,呵呵。當然,還有一些沒有列出來,或者有更好的實現(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律談判(勞動仲裁)考試試卷及答案
- 防曬化妝品長波紫外線防護指數(shù)(PFA值)防水性能測試方法-征求意見收集表
- 2025年印刷電路板化學品項目發(fā)展計劃
- 2024年安順市鎮(zhèn)寧縣江龍鎮(zhèn)招聘公益性崗位人員真題
- 2025年張掖市中國消防救援政府專職消防員招聘考試試題【答案】
- 2025年農(nóng)業(yè)銀行反洗錢知識競賽培訓考試試題【答案】
- 項目應急預案
- 湘藝版音樂一年級上冊飛呀飛教學設計
- 提升教育創(chuàng)新網(wǎng)絡效能的策略研究
- 提升教學效果從學生個性出發(fā)的教學設計
- 天津市南開區(qū)2024-2025學年七年級下學期期末考試數(shù)學試卷及答案
- 村振興產(chǎn)業(yè)融合發(fā)展示范區(qū)建設項目運營管理方案
- 2025年中考物理解題方法復習專題10力學壓軸題的常見解法
- 慈利一中選拔考試題及答案
- 2024年計算機二級WPS考試題庫380題(含答案)
- 2024年人教版九年級英語單詞默寫單(微調(diào)版)
- 三板大斧子小品《反詐銀行》臺詞劇本
- 生物醫(yī)學工程倫理-教學大綱、授課計劃
- GB/T 28708-2012管道工程用無縫及焊接鋼管尺寸選用規(guī)定
- 心電監(jiān)護課件精品PPT課件
- (高清版)JGJ340-2015建筑地基檢測技術規(guī)范
評論
0/150
提交評論