string.c

来自「类unix x86平台的简单操作系统」· C语言 代码 · 共 60 行

C
60
字号
#include "types.h"#include "defs.h"void*memset(void *dst, int c, uint n){  char *d = (char*) dst;  while(n-- > 0)    *d++ = c;  return dst;}intmemcmp(const void *v1, const void *v2, uint n){  const uchar *s1 = (const uchar*) v1;  const uchar *s2 = (const uchar*) v2;  while(n-- > 0) {    if(*s1 != *s2)      return (int) *s1 - (int) *s2;    s1++, s2++;  }  return 0;}void*memmove(void *dst, const void *src, uint n){  const char *s;  char *d;  s = src;  d = dst;  if(s < d && s + n > d) {    s += n;    d += n;    while(n-- > 0)      *--d = *--s;  } else    while(n-- > 0)      *d++ = *s++;  return dst;}intstrncmp(const char *p, const char *q, uint n){  while(n > 0 && *p && *p == *q)    n--, p++, q++;  if(n == 0)    return 0;  else    return (int) ((uchar) *p - (uchar) *q);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?