摘抄些微软实现的源码
来源:互联网 发布:用友软件t3普及版 编辑:程序博客网 时间:2024/06/06 13:19
自己实现的感觉不怎么好,就在vc的安装文件中找到了这些微软的源码。
从细节上就能感受到大神的魅力。
int strcmp (const char * src,const char * dst)
{int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}
char *strcat (char * dst,const char * src)
{
char * cp = dst;
while( *cp )
cp++;
while( *cp++ = *src++ ) ;
return( dst );
}
char *strcpy(char * dst, const char * src)
{
char * cp = dst;
while( *cp++ = *src++ );
return( dst );
}
int strlen (const char * str)
{
const char *eos = str;
while( *eos++ ) ;
return( (int)(eos - str - 1) );
}
char *_strset (char * string,int val)
{
char *start = string;
while (*string)
*string++ = (char)val;
return(start);
}
char *strstr (const char * str1,const char * str2)
{
char *cp = (char *) str1;
char *s1, *s2;
if ( !*str2 )
return((char *)str1);
while (*cp)
{
s1 = cp;
s2 = (char *) str2;
while ( *s1 && *s2 && !(*s1-*s2) )
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return(NULL);
}
int abs (int number)
{
return( number>=0 ? number : -number );
}
int memcmp (const void * buf1,const void * buf2,size_t count)
{
if (!count)
return(0);
while ( --count && *(char *)buf1 == *(char *)buf2 ) {
buf1 = (char *)buf1 + 1;
buf2 = (char *)buf2 + 1;
}
return( *((unsigned char *)buf1) - *((unsigned char *)buf2) );
}
void *memcpy (void * dst,const void * src,size_t count)
{
void * ret = dst;
while (count--) {
*(char *)dst = *(char *)src;
dst = (char *)dst + 1;
src = (char *)src + 1;
}
return(ret);
}
void *memset (void *dst,int val,size_t count)
{
void *start = dst;
while (count--) {
*(char *)dst = (char)val;
dst = (char *)dst + 1;
}
return(start);
}
0 0
- 摘抄些微软实现的源码
- 父母的那些微瞬间
- 个人对于TDD的些微看法
- 系统的实现与测试(摘抄)
- 挑一些微博上关于西安公交的体验
- 你应该知道的一些微信技巧
- 浅析编程不同输入法状态下的些微区别
- 一些微信第三方登录需要注意的地方
- HTTP协议的C语言编程实现实例[摘抄]
- 企业信息化战略的实现方法(摘抄)
- 涨停板的秘密(摘抄)
- 程序员 的摘抄
- 摘抄的文章
- 摘抄的经典佛经
- 花絮:摘抄的部分内容
- 摘抄的爱情诗词
- KMP算法的摘抄
- 摘抄的经验
- U盘起死回生
- 图论
- poj 2251:Dungeon Master
- local_irq_disable
- java 异步回调
- 摘抄些微软实现的源码
- 生成器模式
- 本打算考研之前深入研究C#,看情况得先搞定java了
- 重构手法一重新组织函数
- poj 1111:Image Perimeters
- servlet中的service()和init()的区别
- VS——dll放在哪?
- Three disabled FSO components of the virtual machine
- 第一个星期实习的领悟,和项目经理的沟通非常重要