ulib.c

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

C
91
字号
#include "types.h"#include "stat.h"#include "fcntl.h"#include "user.h"intputs(char *s){  return write(1, s, strlen(s));}char*strcpy(char *s, char *t){  char *os;  os = s;  while((*s++ = *t++) != 0)    ;  return os;}intstrcmp(const char *p, const char *q){  while(*p && *p == *q)    p++, q++;  return (int) ((unsigned char) *p - (unsigned char) *q);}unsigned intstrlen(char *s){  int n = 0;  for(n = 0; s[n]; n++)    ;  return n;}void*memset(void *dst, int c, unsigned int n){  char *d = (char*) dst;  while(n-- > 0)    *d++ = c;  return dst;}char*strchr(const char *s, char c){  for(; *s; s++)    if(*s == c)      return (char*) s;  return 0;}char*gets(char *buf, int max){  int i = 0, cc;  char c;  while(i+1 < max){    cc = read(0, &c, 1);    if(cc < 1)      break;    if(c == '\n' || c == '\r')      break;    buf[i++] = c;  }  buf[i] = '\0';  return buf;}intstat(char *n, struct stat *st){  int fd;  int r;  fd = open(n, O_RDONLY);  if(fd < 0)    return -1;  r = fstat(fd, st);  close(fd);  return r;}

⌨️ 快捷键说明

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