📄 bomblib.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 + -