亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prmt3.c

?? 使用BorlandC++4.5編譯的一個MUD客戶端程序
?? C
字號:
/* prmt3.c: Primitive functions: strings */
/* $Id: prmt3.c 2.1 1995/10/24 15:46:14 tsurace Release $ */

#include "vt.h"
#include "prmt.h"

#define Tcheck23(a, b) Tcheckgen(argc < 2 || T1 != (a) || T2 != (b) || \
				 argc == 3 && T3 != F_INT || argc > 3)

extern Istr wrapbuf;
extern char *strrchr();

/* String primitives */

PDECL(pr_strcpy)
{
	String *s1;
	int len;

	Tcheck23(F_SPTR, F_SPTR);
	if (Dp1.Dspos < 0)
		Berror;
	isolate(Dp1.Distr);
	s1 = &Dp1.Sstr;
	len = (argc == 2 || Int3 > Salen(Dp2)) ? Salen(Dp2) : Int3;
	if (Dp1.Dspos >= s1->c.l) {
		lcheck(s1, Dp1.Dspos);
		memset(s1->c.s + s1->c.l, ' ', Dp1.Dspos - s1->c.l);
		s1->c.s[s1->c.l = Dp1.Dspos] = '\0';
	}
	*rf = Dp1;
	if (!Sinbounds(Dp2) || argc == 3 && Int3 < 0)
		s_term(s1, Dp1.Dspos);
	else if (Dp1.Distr != Dp2.Distr) {
		s_term(s1, Dp1.Dspos);
		s_cat(s1, cstr_sl(Sastr(Dp2), len));
	} else if (Dp1.Dspos < Dp2.Dspos) {
		bcopy(Sastr(Dp2), Sastr(Dp1), len);
		s1->c.s[s1->c.l = Dp1.Dspos + len] = '\0';
	} else if (Dp1.Dspos > Dp2.Dspos) {
		lcheck(s1, Dp1.Dspos + len);
		bcopy_fwd(Sastr(Dp2), Sastr(Dp1), len);
		s1->c.s[s1->c.l = Dp1.Dspos + len] = '\0';
	}
}

PDECL(pr_strcat)
{
	String *s1;
	int len;

	Tcheck23(F_SPTR, F_SPTR);
	Bcheck(Dp1.Dspos < 0);
	isolate(Dp1.Distr);
	s1 = &Dp1.Sstr;
	len = argc == 2 || Int3 > Solen(Dp2) ? Solen(Dp2) :
	      Int3 <= 0 ? 0 : Int3;
	if (Dp1.Dspos >= s1->c.l) {
		lcheck(s1, Dp1.Dspos);
		memset(s1->c.s + s1->c.l, ' ', Dp1.Dspos - s1->c.l);
		s1->c.l = Dp1.Dspos;
	}
	s_cat(s1, cstr_sl(Soastr(Dp2), len));
	*rf = Dp1;
}

PDECL(pr_strdup)
{
	Tcheck1(F_SPTR);
	Dset_sptr(*rf, istr_rs(Dp.Distr->rs), Dp.Dspos);
}

PDECL(pr_strcmp)
{
	Tcheck23(F_SPTR, F_SPTR);
	Dset_int(*rf, (argc == 2) ? strcmp(Soastr(Dp1), Soastr(Dp2))
		      : strncmp(Soastr(Dp1), Soastr(Dp2), max(Int3, 0)));
}

PDECL(pr_stricmp)
{
	Tcheck23(F_SPTR, F_SPTR);
	Dset_int(*rf, (argc == 2) ? strcasecmp(Soastr(Dp1), Soastr(Dp2))
		      : strncasecmp(Soastr(Dp1), Soastr(Dp2), max(Int3, 0)));
}

PDECL(pr_strchr)
{
	char *ptr;

	Tcheck23(F_SPTR, F_INT);
	if (!Sinbounds(Dp1) && Int2 == '\0') {
		*rf = Dp1;
		return;
	}
	if (argc == 3) {
		Int3 = min(max(Int3, 0), Dp1.Slen);
		ptr = vtstrnchr(Soastr(Dp1), Int2, Int3);
	} else
		ptr = strchr(Soastr(Dp1), Int2);
	if (ptr)
		Dset_sptr(*rf, Dp1.Distr, ptr - Dp1.Sbegin);
}

PDECL(pr_strrchr)
{
	char *ptr;

	Tcheck23(F_SPTR, F_INT);
	if (!Sinbounds(Dp1) && Int2 == '\0') {
		*rf = Dp1;
		return;
	}
	if (argc == 3) {
		Int3 = min(max(Int3, 0), Dp1.Slen);
		ptr = vtstrnrchr(Soastr(Dp1), Int2, Int3);
	} else
		ptr = strrchr(Soastr(Dp1), Int2);
	if (ptr)
		Dset_sptr(*rf, Dp1.Distr, ptr - Dp1.Sbegin);
}

PDECL(pr_strcspn)
{
	Tcheck2(F_SPTR, F_SPTR);
	Dset_int(*rf, strcspn(Soastr(Dp1), Soastr(Dp2)));
}

PDECL(pr_strstr)
{
	char *ptr;

	Tcheck2(F_SPTR, F_SPTR);
	if (!Sinbounds(Dp1) && !Sinbounds(Dp2)) {
		*rf = Dp1;
		return;
	}
	ptr = strstr(Soastr(Dp1), Soastr(Dp2));
	if (ptr)
		Dset_sptr(*rf, Dp1.Distr, ptr - Dp1.Sbegin);
}

PDECL(pr_stristr)
{
	char *ptr;

	Tcheck2(F_SPTR, F_SPTR);
	if (!Sinbounds(Dp1) && !Sinbounds(Dp2)) {
		*rf = Dp1;
		return;
	}
	ptr = vtstristr(Soastr(Dp1), Socstr(Dp2));
	if (ptr)
		Dset_sptr(*rf, Dp1.Distr, ptr - Dp1.Sbegin);
}

PDECL(pr_strupr)
{
	char *s;

	Tcheck1(F_SPTR);
	if (Sinbounds(Dp)) {
		isolate(Dp.Distr);
		for (s = Dp.Sbegin; *s; s++)
			*s = ucase(*s);
	}
	*rf = Dp;
}

PDECL(pr_strlwr)
{
	char *s;

	Tcheck1(F_SPTR);
	if (Sinbounds(Dp)) {
		isolate(Dp.Distr);
		for (s = Dp.Sbegin; *s; s++)
			*s = lcase(*s);
	}
	*rf = Dp;
}

PDECL(pr_strlen)
{
	Tcheck1(F_SPTR);
	Dset_int(*rf, Solen(Dp));
}

PDECL(pr_wrap)
{
	char *s, *ptr;
	int l, margin, indent, i;

	Tcheckgen(argc < 2 || T1 != F_SPTR || T2 != F_INT || argc >= 3
		  && T3 != F_INT || argc == 4 && T4 != F_INT || argc > 4);
	s = Soastr(Dp1);
	l = Solen(Dp1);
	margin = argc == 4 ? Int2 - Int4 : Int2;
	indent = argc >= 3 ? Int3 : 0;
	isolate(&wrapbuf);
	s_term(&wrapbuf.rs->str, 0);
	Dset_sptr(*rf, istr_rs(wrapbuf.rs), 0);
	if (margin < 0 || Int2 < indent || !l) {
		    s_add(&wrapbuf.rs->str, '\n');
		    return;
	}
	while (l > margin) {
		ptr = vtstrnrchr(s, ' ', margin);
		i = (ptr && ptr - s > margin / 2) ? ptr - s : margin;
		s_cat(&wrapbuf.rs->str, cstr_sl(s, i));
		s_fadd(&wrapbuf.rs->str, '\n');
		s += i;
		l -= i;
		for (; *s == ' '; s++, l--);
		if (*s) {
			for (i = 0; i < indent; i++)
				s_fadd(&wrapbuf.rs->str, ' ');
		}
		margin = Int2 - indent;
	}
	if (l > 0) {
		s_cat(&wrapbuf.rs->str, cstr_sl(s, l));
		s_fadd(&wrapbuf.rs->str, '\n');
	}
	s_nt(&wrapbuf.rs->str);
}

PDECL(pr_ucase)
{
	Tcheck1(F_INT);
	Dset_int(*rf, ucase(Int));
}

PDECL(pr_lcase)
{
	Tcheck1(F_INT);
	Dset_int(*rf, lcase(Int));
}

PDECL(pr_itoa)
{
	Tcheck1(F_INT);
	Dset_sptr(*rf, istr_s(ITOA(Int)), 0);
}

PDECL(pr_atoi)
{
	Tcheck1(F_SPTR);
	Dset_int(*rf, atoi(Soastr(Dp)));
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合自拍亚洲综合图不卡区| 久久国内精品视频| 日本va欧美va精品| 成人av资源下载| 日韩亚洲电影在线| 亚洲精品视频观看| 国产sm精品调教视频网站| 欧美一区在线视频| 亚洲影院理伦片| jiyouzz国产精品久久| 精品第一国产综合精品aⅴ| 一区二区三区精品| www.亚洲精品| 欧美国产激情一区二区三区蜜月| 三级在线观看一区二区| 在线日韩av片| 一区二区在线观看免费| 成人小视频免费在线观看| 91精品国产91久久久久久一区二区 | 丁香网亚洲国际| 日韩色视频在线观看| 天天色综合天天| 欧美日韩一区高清| 亚洲综合色丁香婷婷六月图片| 97se亚洲国产综合自在线观| 久久久99精品久久| 国产综合久久久久久鬼色| 欧美成人aa大片| 欧美aaa在线| 日韩精品在线一区| 另类小说图片综合网| 日韩午夜小视频| 精品在线视频一区| 久久影院午夜论| 国产盗摄女厕一区二区三区| 久久久久久久久97黄色工厂| 国产一区二区精品久久| 久久天堂av综合合色蜜桃网| 国产资源在线一区| 国产精品网站在线播放| 不卡影院免费观看| 依依成人综合视频| 欧美视频在线一区| 日韩电影一区二区三区| xnxx国产精品| 成人污污视频在线观看| 亚洲精品国产品国语在线app| 91麻豆精品秘密| 亚洲不卡一区二区三区| 日韩欧美中文一区| 国产福利91精品一区| 国产精品美女视频| 91麻豆视频网站| 日韩激情在线观看| 久久蜜桃香蕉精品一区二区三区| 国产成都精品91一区二区三| 亚洲丝袜另类动漫二区| 色欧美片视频在线观看在线视频| 午夜影院在线观看欧美| 日韩一区二区精品| 成人综合在线观看| 亚洲国产精品视频| 久久综合五月天婷婷伊人| 不卡视频一二三四| 五月天视频一区| 久久精品夜色噜噜亚洲a∨| 色综合天天综合给合国产| 亚洲不卡av一区二区三区| 久久久久久久久久看片| 精品1区2区3区| 国产成人一区在线| 性久久久久久久久| 国产精品欧美综合在线| 777久久久精品| www.成人在线| 蜜桃av一区二区三区电影| 亚洲欧美在线高清| 欧美大片日本大片免费观看| 91麻豆免费在线观看| 国模一区二区三区白浆| 亚洲成人先锋电影| 最新国产精品久久精品| 欧美mv日韩mv国产网站| 91精彩视频在线| 成人午夜视频福利| 美女视频一区在线观看| 亚洲成人激情社区| 中文字幕一区在线| 久久久不卡影院| 日韩欧美卡一卡二| 欧美乱妇15p| 欧洲国内综合视频| 91在线免费视频观看| 国产激情视频一区二区在线观看 | 国产欧美精品一区二区三区四区 | 看电影不卡的网站| 性久久久久久久| 亚洲视频狠狠干| 国产精品三级av| 精品国产乱码91久久久久久网站| 欧美日韩夫妻久久| 欧洲色大大久久| 97se亚洲国产综合在线| 国产99久久久久| 国产精品夜夜爽| 国产一区二区三区久久久| 蜜桃免费网站一区二区三区| 日韩成人一区二区| 日产欧产美韩系列久久99| 亚洲成人av一区二区| 亚洲一区二区免费视频| 亚洲综合丁香婷婷六月香| 亚洲免费大片在线观看| 亚洲欧美综合在线精品| 尤物在线观看一区| 亚洲成人午夜电影| 日韩国产精品久久| 日产精品久久久久久久性色| 日本不卡一区二区三区高清视频| 奇米精品一区二区三区在线观看| 午夜精品在线看| 蜜桃一区二区三区在线| 激情久久五月天| 国产精品一区二区免费不卡| 丁香另类激情小说| 91亚洲精品久久久蜜桃网站 | 欧美一区二区日韩| 4438成人网| 2024国产精品| 国产精品伦理在线| 亚洲一区二区在线免费看| 亚洲午夜免费福利视频| 日本vs亚洲vs韩国一区三区二区| 美女视频一区在线观看| 国产精一区二区三区| 成年人国产精品| 欧美最新大片在线看| 日韩欧美色综合| 欧美国产一区在线| 一区二区三区中文免费| 奇米影视一区二区三区小说| 国产一区在线视频| 色婷婷香蕉在线一区二区| 日韩欧美一级精品久久| 国产精品乱码久久久久久| 亚洲综合在线五月| 久久99国产精品麻豆| eeuss影院一区二区三区| 欧美日韩一卡二卡| 久久久综合网站| 亚洲制服丝袜一区| 国产揄拍国内精品对白| 在线免费观看视频一区| 欧美白人最猛性xxxxx69交| 国产精品久久夜| 日韩激情视频网站| va亚洲va日韩不卡在线观看| 91精品欧美综合在线观看最新| 国产网站一区二区| 亚洲成人精品一区| 成人免费看的视频| 欧美一区二区三区喷汁尤物| 国产精品亲子乱子伦xxxx裸| 毛片av一区二区| 色综合天天综合狠狠| 久久久久久夜精品精品免费| 亚洲一级二级三级| 成人涩涩免费视频| 日韩一本二本av| 亚洲午夜久久久| www.欧美日韩| 国产日韩综合av| 久久精品国产久精国产| 欧美亚日韩国产aⅴ精品中极品| 国产欧美精品一区二区色综合| 首页国产欧美日韩丝袜| 在线观看视频一区二区 | 精品欧美乱码久久久久久1区2区| 亚洲精品一二三四区| 大白屁股一区二区视频| 日韩丝袜美女视频| 亚洲午夜羞羞片| 日本韩国精品在线| 国产精品久久一卡二卡| 国产91精品免费| 久久女同精品一区二区| 精品综合免费视频观看| 欧美日韩久久不卡| 一区二区三区91| 一本到三区不卡视频| 亚洲欧洲精品一区二区三区不卡 | 99久久精品国产导航| 国产亚洲精久久久久久| 99久久久精品| 中文在线免费一区三区高中清不卡| 国产毛片精品国产一区二区三区| 日韩精品中午字幕| 久久精品国产澳门| 精品毛片乱码1区2区3区| 美国十次综合导航|