欢迎来到天天文库
浏览记录
ID:10090886
大小:30.00 KB
页数:6页
时间:2018-05-25
《c字符串函数底层实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C字符串函数底层实现1/*2 * linux/lib/string.c3 *4 * Copyright(C)1991,1992 LinusTorvalds5 */67/*8 *stupidlibraryroutines..Theoptimizedversionsshouldgenerallybefound9 *asinlinecodein10 *11 *Thesearebuggyaswell..12 */13 14#include1516char*___st
2、rtok=NULL;1718char*strcpy(char*dest,constchar*src)19{20 char*tmp=dest;2122 while((*dest++=*src++)!=' ')23 /*nothing*/;24 returntmp;25}2627char*strncpy(char*dest,constchar*src,size_tcount)28{29 char*tmp=dest;3031
3、while(count--&&(*dest++=*src++)!=' ')32 /*nothing*/;3334 returntmp;35}3637char*strcat(char*dest,constchar*src)38{39 char*tmp=dest;4041 while(*dest)42 dest++;43 while((*dest++=*src++)!=' ')44
4、 ;4546 returntmp;47}4849char*strncat(char*dest,constchar*src,size_tcount)50{51 char*tmp=dest;5253 if(count){54 while(*dest)55 dest++;56 while((*dest++=*src++)){57 i
5、f(--count==0)58 break;59 }60 }6162 returntmp;63}6465intstrcmp(constchar*cs,constchar*ct)66{67 registersignedchar__res;6869 while(1){70 if((__res=*cs-*ct++)!=0
6、
7、!*cs++)71
8、 break;72 }7374 return__res;75}7677intstrncmp(constchar*cs,constchar*ct,size_tcount)78{79 registersignedchar__res=0;8081 while(count){82 if((__res=*cs-*ct++)!=0
9、
10、!*cs++)83 break;8
11、4 count--;85 }8687 return__res;88}8990char*strchr(constchar*s,charc)91{92 for(;*s!=c;++s)93 if(*s==' ')94 returnNULL;95 return(char*)s;96}9798size_tstrlen(constchar*s)99{100
12、constchar*sc;101102 for(sc=s;*sc!=' ';++sc)103 /*nothing*/;104 returnsc-s;105}106107size_tstrnlen(constchar*s,size_tcount)108{109
此文档下载收益归作者所有