Life is Good.

Enhance Tech and English
随笔 - 65, 文章 - 20, 评论 - 21, 引用 - 0
数据加载中……

15 - memchr

/***
*char *memchr(buf, chr, cnt) - search memory for given character.
*
*Purpose:
*       Searches at buf for the given character, stopping when chr is
*       first found or cnt bytes have been searched through.
*
*Entry:
*       void *buf  - memory buffer to be searched
*       int chr    - character to search for
*       size_t cnt - max number of bytes to search
*
*Exit:
*       returns pointer to first occurence of chr in buf
*       returns NULL if chr not found in the first cnt bytes
*
*Exceptions:
*
******************************************************************************
*/

void * __cdecl memchr (
        
const void * buf,
        
int chr,
        size_t cnt
        )
{
        
while ( cnt && (*(unsigned char *)buf != (unsigned char)chr) ) {
                buf 
= (unsigned char *)buf + 1;
                cnt
--;
        }

        
return(cnt ? (void *)buf : NULL);
}

posted on 2011-06-11 22:11 Mike Song 阅读(225) 评论(0)  编辑 收藏 引用 所属分类: C字符串函数源码分析


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理