⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strings-memmove.c

📁 rxvt经典的linux下的终端.小巧实用
💻 C
字号:
#include "../../config.h"#include "../rxvt.h"# /* hack! */	define memset		rmemset# /* hack! */	define memmove		rmemmovevoid *memset __PROTO((void *p, int c1, size_t len));void *memmove __PROTO((void *d, const void *s, size_t len));# /* hack! */	include "../strings.c"# /* hack! */	undef memmove# /* hack! */	undef memset#define OFF	16#define BUFSZ	300unsigned char  buf1[BUFSZ], buf2[BUFSZ], buf3[BUFSZ];intmain(){    int i, j, k, a;    int res;    res = 0;    for (i = 0; i < OFF; i++)	for (j = 0; j < OFF; j++)	    for (k = 0; k < OFF; k++) {		memset(buf2, 127, BUFSZ);		memset(buf3, 127, BUFSZ);		for (a = 1; a < 256; a++)		    buf1[OFF + i + a - 1] = a;		rmemmove(buf2 + OFF + k, buf1 + OFF + i, 256 - OFF + j);		memmove(buf3 + OFF + k, buf1 + OFF + i, 256 - OFF + j);		for (a = 0; a < (int)sizeof buf2; a++)		    if (buf2[a] != buf3[a]) {			res = 1;			printf("Test BAD, Start = +%d, Size = +%d, Dest =+ %d: ",			       i, j, k);			printf("    -1=%02x, 0=%02x, %d=%02x, %d=%02x\n",			       buf2[OFF + k - 1], buf2[OFF + k],			       255 - OFF + j, buf2[k + 255 + j],			       256 - OFF + j, buf2[k + 256 + j]);			break;		    }	    }    if (res == 0)	printf("OK\n");    exit(res);}

⌨️ 快捷键说明

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