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

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

?? string.c

?? ADS環境下的類似linux內核的操作系統
?? C
字號:
/* MShowTec - www.mshowtec.com
** msLinux string.c ver1.0
** 20051221 lmjx create limiao@mshowtec.com
**
*/

#define MSLINUX_STRING_C

__inline char *strcpy (char *dest, const char *src)
{
	char *p = dest;
	while(*src){
		*dest++ = *src++;
	}
	*dest = 0;	
	return p;
}

__inline char *strncpy (char *dest, const char *src, int count)
{
	char *p = dest;
	while((*src)&&(count>0)){
		*dest++ = *src++;
		count--;
	}
	while(count>0){
		*dest++ = 0;
		count--;
	}
	*dest = 0;
	return p;
}

__inline char *strcat (char *dest, const char *src)
{
	char *tmp = dest;

	while (*dest)
		dest++;
	while ((*dest++ = *src++) != '\0')
		;

	return tmp;
}

__inline char *strncat (char *dest, const char *src, int count)
{
	char *tmp = dest;

	if (count) {
		while (*dest)
			dest++;
		while ((*dest++ = *src++)) {
			if (--count == 0) {
				*dest = '\0';
				break;
			}
		}
	}

	return tmp;
}

__inline int strcmp (const char *csrc, const char *ct)
{
	while( 1 )
	{
		unsigned char s1 = *csrc++;
		unsigned char s2 = *ct++;

		if(  s1 > s2 )
			return 1;
		else if( s1 < s2 )
			return -1;
		else if( s1 == 0 && s2 == 0 )
			break;
	}
	return 0;
}

__inline int strncmp(const char * cs,const char * ct,int count)
{

	while( count-- )
	{
		unsigned char s1 = *cs++;
		unsigned char s2 = *ct++;

		if(  s1 > s2 )
			return 1;
		else if( s1 < s2 )
			return -1;
		else if( s1 == 0 && s2 == 0 )
			break;
	}
	return 0;

}

/**
 * strchr - Find the first occurrence of a character in a string
 * @s: The string to be searched
 * @c: The character to search for
 */
__inline char * strchr(const char * s, int c)
{
	for(; *s != (char) c; ++s)
		if (*s == '\0')
			return 0;
	return (char *) s;
}

/**
 * strrchr - Find the last occurrence of a character in a string
 * @s: The string to be searched
 * @c: The character to search for
 */
__inline char * strrchr(const char * s, int c)
{
       const char *p = s + strlen(s);
       do {
           if (*p == (char)c)
               return (char *)p;
       } while (--p >= s);
       return 0;
}


__inline int strlen (const char *s)
{
	int ret = 0;
	
	while(*s++){
		ret++;
	}
	return ret;
}

/**
 * strspn - Calculate the length of the initial substring of @s which only
 * 	contain letters in @accept
 * @s: The string to be searched
 * @accept: The string to search for
 */
__inline unsigned int strspn(const char *s, const char *accept)
{
	const char *p;
	const char *a;
	unsigned int count = 0;

	for (p = s; *p != '\0'; ++p) {
		for (a = accept; *a != '\0'; ++a) {
			if (*p == *a)
				break;
		}
		if (*a == '\0')
			return count;
		++count;
	}

	return count;
}


__inline void *memcpy (void *dest, const void *src, int n)
{
	void *p = dest;
	
	while(n>0){
		*((unsigned char*)dest)++ = *((unsigned char*)src)++;
		n--;
	}
	
	return p;
}

/**
 * memmove - Copy one area of memory to another
 * @dest: Where to copy to
 * @src: Where to copy from
 * @count: The size of the area.
 *
 * Unlike memcpy(), memmove() copes with overlapping areas.
 */
__inline void * memmove(void * dest,const void *src,int count)
{
	char *tmp, *s;

	if (dest <= src) {
		tmp = (char *) dest;
		s = (char *) src;
		while (count--)
			*tmp++ = *s++;
		}
	else {
		tmp = (char *) dest + count;
		s = (char *) src + count;
		while (count--)
			*--tmp = *--s;
		}

	return dest;
}

/**
 * memcmp - Compare two areas of memory
 * @cs: One area of memory
 * @ct: Another area of memory
 * @count: The size of the area.
 */
__inline int memcmp(const void * cs,const void * ct,int count)
{
	const unsigned char *su1, *su2;
	int res = 0;

	for( su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
		if ((res = *su1 - *su2) != 0)
			break;
	return res;
}

/**
 * memscan - Find a character in an area of memory.
 * @addr: The memory area
 * @c: The byte to search for
 * @size: The size of the area.
 *
 * returns the address of the first occurrence of @c, or 1 byte past
 * the area if @c is not found
 */
__inline void * memscan(void * addr, int c, int size)
{
	unsigned char * p = (unsigned char *) addr;

	while (size) {
		if (*p == c)
			return (void *) p;
		p++;
		size--;
	}
  	return (void *) p;
}

/**
 * strstr - Find the first substring in a %NUL terminated string
 * @s1: The string to be searched
 * @s2: The string to search for
 */
__inline char * strstr(const char * s1,const char * s2)
{
	int l1, l2;

	l2 = strlen(s2);
	if (!l2)
		return (char *) s1;
	l1 = strlen(s1);
	while (l1 >= l2) {
		l1--;
		if (!memcmp(s1,s2,l2))
			return (char *) s1;
		s1++;
	}
	return 0;
}

/**
 * memchr - Find a character in an area of memory.
 * @s: The memory area
 * @c: The byte to search for
 * @n: The size of the area.
 *
 * returns the address of the first occurrence of @c, or %NULL
 * if @c is not found
 */
void *memchr(const void *s, int c, int n)
{
	const unsigned char *p = s;
	while (n-- != 0) {
        	if ((unsigned char)c == *p++) {
			return (void *)(p-1);
		}
	}
	return 0;
}


__inline void *memset (void *s, char c, int count)
{
	void *p = s;
	
	while(count>0){
		*((unsigned char*)s)++ = c;
	}
	return p;
}

__inline void itoa(int value, char *string, int radix)
{
	int i;
	int count = 0;
	unsigned long temp;
	unsigned long res;
	char ch[20];
	if(radix==10 && value<0){ch[0] = '-';count++;temp = 0-value;}
	else{temp = value;}
	while(1)
	{
		res = temp%radix;
		temp=temp/radix;
		if(res<10) ch[count++]=res+'0';
		else ch[count++]=res-10+'a';
		if(temp==0)
			break;
	}
	ch[count]='\0';
	string[0]='\0';
	for(i=0;i<count;i++)
		string[count-i-1]=ch[i];

	string[count]='\0';
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆一区二区三| 亚洲欧美激情小说另类| 欧美无人高清视频在线观看| 亚洲无线码一区二区三区| 国产婷婷色一区二区三区| 欧美一区二区精品| 欧洲视频一区二区| 91在线观看免费视频| 精品一区二区在线视频| 日本欧美一区二区三区| 亚洲成人在线免费| 亚洲国产成人精品视频| 一区二区三区高清在线| 亚洲三级在线播放| 亚洲精品在线三区| 久久久久久麻豆| 久久久噜噜噜久久人人看 | 国产女同性恋一区二区| 久久综合久色欧美综合狠狠| 日韩欧美在线影院| 欧美精品第1页| 91精品国产欧美日韩| 日韩一区和二区| 欧美成人精品福利| 久久久综合视频| 国产精品入口麻豆原神| 久久久亚洲高清| 国产精品美女久久久久久久| 国产精品亲子伦对白| 亚洲男人的天堂在线aⅴ视频 | 久久成人久久爱| 国产一区在线精品| a级精品国产片在线观看| 99re热这里只有精品视频| 日本道色综合久久| 欧美剧情电影在线观看完整版免费励志电影 | 欧美日韩一级大片网址| 成人国产精品免费网站| 91精品福利在线| 欧美日韩三级在线| 欧美变态tickling挠脚心| 国产女人水真多18毛片18精品视频| 国产精品每日更新| 天堂在线一区二区| 激情偷乱视频一区二区三区| 不卡一区在线观看| 欧美老女人在线| 国产清纯在线一区二区www| 一区二区三区高清在线| 日韩国产成人精品| 成人一区二区三区中文字幕| 色妹子一区二区| 欧美一级欧美三级在线观看| 欧美经典一区二区三区| 夜夜嗨av一区二区三区| 精品一区二区三区影院在线午夜 | 9191国产精品| 亚洲一区二区三区四区五区中文| 日本不卡的三区四区五区| 国产精选一区二区三区| 在线视频中文字幕一区二区| 久久久精品国产免大香伊| 一二三区精品视频| 国产精品一区二区无线| 欧美日韩一区在线| 最好看的中文字幕久久| 精品制服美女丁香| 欧美日韩国产免费| 国产视频一区在线播放| 亚洲大型综合色站| 99re热这里只有精品视频| 精品国产乱码久久| 亚洲一区二区三区中文字幕 | 色欧美日韩亚洲| 国产日韩欧美电影| 麻豆成人久久精品二区三区红| 岛国精品一区二区| 精品国精品自拍自在线| 午夜久久久久久电影| 91麻豆国产自产在线观看| 国产精品美女久久久久久久久久久| 男人的天堂久久精品| 欧美剧在线免费观看网站| 一区二区三区四区精品在线视频 | 一二三四社区欧美黄| 欧美无砖砖区免费| 青青草原综合久久大伊人精品优势| 538在线一区二区精品国产| 日韩一区精品视频| 日韩一区二区三区av| 国产一区高清在线| 国产精品色一区二区三区| 91麻豆精东视频| 日本少妇一区二区| 久久久久一区二区三区四区| av色综合久久天堂av综合| 亚洲国产精品一区二区www| 3d成人h动漫网站入口| 国产在线精品一区二区不卡了 | 91麻豆免费在线观看| 亚洲成a人在线观看| 精品欧美黑人一区二区三区| 国产一级精品在线| 亚洲一区二区三区四区在线| 日韩免费福利电影在线观看| 成人网在线免费视频| 亚洲成人免费看| 国产亚洲一区二区三区| 日本乱人伦一区| 韩国精品久久久| 亚洲一区二区三区美女| 久久精品视频一区二区| 欧美日韩日日夜夜| 成人性生交大片免费| 日韩1区2区3区| 亚洲欧洲无码一区二区三区| 欧美刺激午夜性久久久久久久| gogogo免费视频观看亚洲一| 日本aⅴ免费视频一区二区三区| 中文字幕的久久| 日韩欧美国产wwwww| 在线精品视频免费播放| 国产精品888| 免费欧美高清视频| 成人免费一区二区三区在线观看| 日韩限制级电影在线观看| 色婷婷综合久久久| 成人一区二区三区视频| 久久99精品国产麻豆婷婷洗澡| 亚洲黄色性网站| 国产精品国产三级国产aⅴ无密码| 欧美一区二区三区免费观看视频 | 激情深爱一区二区| 丝袜亚洲精品中文字幕一区| 亚洲色图第一区| 中文幕一区二区三区久久蜜桃| 日韩欧美第一区| 91精品国产入口| 欧美日韩免费高清一区色橹橹| 97精品久久久午夜一区二区三区| 国产一区二区三区四区五区美女 | 日韩精品午夜视频| 亚洲第一搞黄网站| 夜夜精品视频一区二区| 亚洲精选在线视频| 亚洲男人都懂的| 亚洲视频在线一区| 亚洲欧美日韩国产另类专区| 中文字幕中文字幕一区| 国产精品久久久久影院色老大| 中文字幕乱码日本亚洲一区二区| 26uuu欧美| 国产三级久久久| 国产精品人成在线观看免费| 国产精品美女一区二区在线观看| 国产嫩草影院久久久久| 国产精品午夜在线观看| 欧美激情在线看| 中文字幕永久在线不卡| 亚洲欧洲在线观看av| 亚洲在线免费播放| 视频一区免费在线观看| 日韩电影一二三区| 韩国成人福利片在线播放| 国产成人av福利| av在线不卡电影| 欧美午夜影院一区| 欧美一区二区三区免费大片| 精品少妇一区二区三区免费观看| 精品国产成人在线影院| 国产偷国产偷亚洲高清人白洁| 最新国产の精品合集bt伙计| 依依成人精品视频| 奇米影视一区二区三区小说| 国产精品一区久久久久| 色婷婷一区二区| 日韩欧美中文字幕一区| 国产精品女主播av| 亚洲成a天堂v人片| 狠狠网亚洲精品| 99久久精品费精品国产一区二区| 欧美视频一区二区三区在线观看| 日韩一区二区电影在线| 中文字幕成人在线观看| 一区二区三区欧美| 日本伊人色综合网| 丰满放荡岳乱妇91ww| 欧美在线高清视频| 久久精品人人爽人人爽| 亚洲一区二区在线免费观看视频 | 午夜国产精品影院在线观看| 国内欧美视频一区二区| 色88888久久久久久影院野外| 91精品欧美一区二区三区综合在| 欧美国产精品中文字幕| 日韩福利电影在线| 色婷婷综合久久久久中文 | 污片在线观看一区二区| 国产丶欧美丶日本不卡视频| 欧美肥妇bbw|