字符串库函数

来源:互联网 发布:南丹县网络问政平台 编辑:程序博客网 时间:2024/05/21 17:53

  http://blog.csdn.net/yyyzlf/article/details/4692189

  1. char __cdecl strstr  
  2.         const char str1,  
  3.         const char str2  
  4.          
  5.  
  6.         char *cp (char *) str1;  
  7.         char *s1, *s2;  
  8.   
  9.         if !*str2  
  10.             return((char *)str1);  
  11.   
  12.         while (*cp)  
  13.          
  14.                 s1 cp;  
  15.                 s2 (char *) str2;  
  16.   
  17.                 while *s1 && *s2 && !(*s1-*s2)  
  18.                         s1++, s2++;  
  19.   
  20.                 if (!*s2)  
  21.                         return(cp);  
  22.   
  23.                 cp++;  
  24.          
  25.   
  26.         return(NULL);  
  27.   
  28.  

 

 

[cpp] view plaincopy
  1. size_t __cdecl strlen  
  2.         const char str  
  3.          
  4.  
  5.         const char *eos str;  
  6.   
  7.         while*eos++  
  8.   
  9.         return(int)(eos str 1) );  
  10.  

 

 

[cpp] view plaincopy
  1. void __cdecl memset  
  2.         void *dst,  
  3.         int val,  
  4.         size_t count  
  5.          
  6.  
  7.         void *start dst;  
  8.   
  9. #if defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC)  
  10.          
  11.         extern void RtlFillMemory( void *, size_t count, char );  
  12.   
  13.         RtlFillMemory( dst, count, (char)val );  
  14.          
  15. #else    
  16.         while (count--)  
  17.                 *(char *)dst (char)val;  
  18.                 dst (char *)dst 1;  
  19.          
  20. #endif    
  21.   
  22.         return(start);  
  23.  

 

 

[cpp] view plaincopy
  1. void __cdecl memcpy  
  2.         void dst,  
  3.         const void src,  
  4.         size_t count  
  5.          
  6.  
  7.         void ret dst;  
  8.   
  9. #if defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC)  
  10.          
  11.         extern void RtlMoveMemory( void *, const void *, size_t count );  
  12.   
  13.         RtlMoveMemory( dst, src, count );  
  14.          
  15. #else    
  16.           
  17.         while (count--)  
  18.                 *(char *)dst *(char *)src;  
  19.                 dst (char *)dst 1;  
  20.                 src (char *)src 1;  
  21.          
  22. #endif    
  23.   
  24.         return(ret);  
  25. }