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

📄 bomblib.c

📁 自动侦测插入的存贮设备(U盘/移动硬盘等)
💻 C
字号:
#include "stdio.h"
#include "string.h"

#define MAXLEN 128
#define MINLEN 35

long ctoi(char *old)
{
	int i;
	int len;
	char *p;
	long end;

	len=strlen(old);
	end=0;
	for(p=old;*p>='0'&&*p<='9';p++)
	{
		end=*p-'0'+end*10;
	}
	return end;
}

int uppercase(char *prestr,char *str,int len)
{
	int i;
	
	if(len<0)
		return -1;
	for(i=0;i<len;i++)
	{
		if(*(prestr+i)<='z'&&*(prestr+i)>='a')
			*(str+i)=*(prestr+i)+('A'-'a');
		else
			*(str+i)=*(prestr+i);
	}
	*(str+i)='\0';
	return 0;
}

int lowcase(char *prestr,char *str,int len)
{
	int i;
	
	if(len<0)
		return -1;
	for(i=0;i<len;i++)
	{
		if(*(prestr+i)<='Z'&&*(prestr+i)>='A')
			*(str+i)=*(prestr+i)-('A'-'a');
		else
			*(str+i)=*(prestr+i);
	}
	*(str+i)='\0';
	return 0;
}

/*
Function: Turn hex string to int string.
Return: Succeed 0, Failue -1.
*/
int xstois(char *hex,char *str,int hexlen)
{
	int i,initlen;
	char tmp,t;
	char *init;

	if(strlen(hex)<=0)
		return -1;
	if(hexlen<=0)
		return -1;
	if(hexlen%2)				//if hexlen is odd
	{
		init = (char *)malloc(sizeof(char)*(hexlen+2));
		sprintf(init,"0%s\0",hex);
	}
	else
	{
		init = (char *)malloc(sizeof(char)*(hexlen+1));
		sprintf(init,"%s\0",hex);
	}
	initlen = strlen(init);	
	uppercase(init,init,strlen(init));
	#ifdef __DEBUG__
	//printf("%s\n",init);
	//printf("initlen=%d\n",initlen);
	#endif

	for(i=0;i<initlen;i+=2)
	{
		if(*(init+i)<='9'&&*(init+i)>='0')
			t = *(init+i)-'0';
		else if(*(init+i)<='F'&&*(init+i)>='A')
			t = *(init+i)-'A'+0x000A;
		else
			return -1;
		t = t<<4;
		if(*(init+i+1)<='9'&&*(init+i+1)>='0')
			t |= *(init+i+1)-'0';
		else if(*(init+i+1)<='F'&&*(init+i+1)>='A')
			t |= *(init+i+1)-'A'+0x000A;
		else
			return -1;
		*(str+i/2) = t;
	}
	*(str+i/2)='\0';	

	return initlen/2;
}

/*
Function:Turn char to hex long
return:
*/
unsigned long atox(char *input)
{
	long ret,t;
	int i;
	char tmp[9];
	
	uppercase(input,tmp,8);
	ret = 0;
	for(i=0;i<8;i++)
	{
		ret = ret<<4;
		if(tmp[i]>='0' && tmp[i]<='9')
			t = tmp[i]-'0';
		else if(tmp[i]>='A' && tmp[i]<='F')
			t = tmp[i]-'A'+10;
		ret |= t;	
	}
	return ret;
}

⌨️ 快捷键说明

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