memccpy.c
来自「操作系统源代码」· C语言 代码 · 共 40 行
C
40 行
#include <lib.h>/* memccpy - copy bytes up to a certain char * * CHARBITS should be defined only if the compiler lacks "unsigned char". * It should be a mask, e.g. 0377 for an 8-bit machine. */#include <ansi.h>#include <stddef.h>_PROTOTYPE( void *memccpy, (void *dst, const void *src, int ucharstop, size_t size));#ifndef CHARBITS# define UNSCHAR(c) ((unsigned char)(c))#else# define UNSCHAR(c) ((c)&CHARBITS)#endifvoid *memccpy(dst, src, ucharstop, size)void * dst;_CONST void * src;int ucharstop;_SIZET size;{ register char *d; register _CONST char *s; register _SIZET n; register int uc; if (size <= 0) return( (void *) NULL); s = (char *) src; d = (char *) dst; uc = UNSCHAR(ucharstop); for (n = size; n > 0; n--) if (UNSCHAR(*d++ = *s++) == (char) uc) return( (void *) d); return( (void *) NULL);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?