📄 buf.h
字号:
#define FLAG(bp) (bp)->b_data[0]#define ISEMPTY(bp) ((bp)->b_top == (bp)->b_bot)#define RESET(bp) (bp)->b_top = (bp)->b_bot = (bp)->b_data#define QEMPTY(qp) ((qp)->b_next == (struct buf *)qp)#define SIZE(bp) ((bp)->b_top - (bp)->b_bot)#define GETCHAR(bp) (*(bp)->b_bot++ & 0377)#define PUTCHAR(c, bp) *(bp)->b_top++ = c#define UNGETC(c, bp) *--(bp)->b_bot = c#define BUFCOPY(f, t) bcopy((f)->b_bot, (t)->b_top, SIZE(f)); (t)->b_top+=SIZE(f);#define STRTOBUF(s, bp) { register char *sp=s; register int l=strlen(s); \ bcopy(s, (bp)->b_top, l); (bp)->b_top += l;}struct bufhd { /* buffer header; b_prev and b_next must be first */ struct buf *b_prev, *b_next; short b_count; /* total number of bytes of data queued */};struct buf { struct buf *b_prev, *b_next; /* previous and next buffers */ char *b_bot; /* start of useful data */ char *b_top; /* current position in data */ char b_data[1]; /* usually more than 1 byte */} ;struct buf *getbuf(), *FillBuf();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -