string.h

来自「一个用于学习的操作系统」· C头文件 代码 · 共 70 行

H
70
字号
/*文件名: string.h
  说明:   提供一些内存处理函数
  作者:   Linus Torvalds
  日期:   2005/12/20
*/

#ifndef _LINUX_STRING_H_
#define _LINUX_STRING_H_

#include <fairysky/types.h>

#ifndef NULL
#define NULL ((void *) 0)
#endif

/*
 * This string-include defines all string functions as
 * functions. Use gcc. It also assumes ds=es=data space, this should be
 * normal. Most of the string-functions are rather heavily hand-optimized,
 * see especially strtok,strstr,str[c]spn. They should work, but are not
 * very easy to understand. Everything is done entirely within the register
 * set, making the functions fast and clean. String instructions have been
 * used through-out, making for "slightly" unclear code :-)
 *
 *      Copyright (C) 1991, 1992 Linus Torvalds
 */

extern  char * strcpy(char *dest, const char *src);

extern  char * strncpy(char *dest, const char *src, size_t count);

extern  char * strcat(char *dest, const char *src);

extern  char * strncat(char *dest, const char *src, size_t count);

extern  int strcmp(const char *cs, const char *ct);

extern  int strncmp(const char *cs, const char *ct, size_t count);

extern  char * strchr(const char *s, char c);

extern  char * strrchr(const char *s, char c);

extern  size_t strspn(const char *cs, const char *ct);

extern  size_t strcspn(const char *cs, const char *ct);

extern  char * strpbrk(const char *cs, const char *ct);

extern  char * strstr(const char *cs, const char *ct);

extern  size_t strlen(const char *s);

extern char *___strtok;

extern  char * strtok(char *s, const char *ct);

extern  void * memcpy(void *dest, const void *src, size_t n);

extern  void * memmove(void *dest, const void *src, size_t n);

extern  int memcmp(const void *cs, const void *ct, size_t count);

extern  void * memchr(const void *cs, char c, size_t count);

extern  void * memset(void *s, char c, size_t count);

#endif

⌨️ 快捷键说明

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