📄 0.string.c
字号:
#include <stdio.h>#include "def.h"#include "1.defs.h"str_copy(s,ptr,length) /* copy s at ptr, return length of s */char *s, *ptr;int length; {int i; for (i = 0; i < length; i++) { ptr[i] = s[i]; if (ptr[i] == '\0') return(i + 1); } faterr("string too long to be copied at given address:\n",s,""); }find(s,ar,size)char *s,*ar[];int size; { int i; for (i=0; i < size; i++) {if (str_eq(s, ar[i])) return(i);} return(-1); }str_eq(s,t)char s[],t[]; {int j; for (j = 0; s[j] == t[j]; j++) {if (s[j] == '\0') return(1);} return(0); }classmatch(c,i)char c;int i; {switch(i) {case _digit: if ('0' <= c && c <= '9') return(1); else return(0); case _letter: if ( ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z')) return(1); else return(0); case _diglet: return(classmatch(c,_digit)||classmatch(c,_letter) ); case _arith: if (050 <= c && c<= 057) return(1); else return(0); case _nl: return(c=='\n'); case _other: return(1); } }copychars(cbeg,target,n) /* copy n chars from cbeg to target */char *cbeg, *target;int n; { int i; for (i = 0; i < n; i++) target[i] = cbeg[i]; }copycs(cbeg,target,n) /* copy n chars from cbeg to target, add '\0' */char *cbeg, *target;int n; { copychars(cbeg,target,n); target[n] = '\0'; }slength(s) /* return number of chars in s, not counting '\0' */char *s; { int i; if (!s) return(-1); for (i = 0; s[i] != '\0'; i++); return(i); }concat(x,y) /* allocate space, return xy */char *x, *y; { char *temp; int i,j; i = slength(x); j = slength(y); temp = galloc(i + j + 1); sprintf(temp,"%s",x); sprintf(&temp[i],"%s",y); return(temp); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -