压缩空格的函数以及BCD码与ASCII相互转换函数/**
函数名:zip_space
功能 :压缩空格的函数
参数 :
s 源字符串
返回值:
0 成功
**/
int zip_space(char *s){
int i,j;
int len;
if(s==NULL || strlen(s)==0)
{
return -1;
}
len=strlen(s);
i=j=0;
while(s[i]!='\0'){
if(s[i]!=''){
if(i!=j){
s[j]=s[i];
}
i++;j++;
}else{
i++;
}
}
while(j<i){
s[j]='\0';
j++;
}
return(0);
}
/
*************
****************/
int zip_0a09(char *s, int begin)
{
int len=strlen(s);
int i,j;
i=j=begin;
while(s[i]!='\0'){
if(s[i]!=0x09 && s[i]!=0x0a){
if(i!=j){
s[j]=s[i];
}
i++;j++;
}else{
i++;
字符串函数注册登录}
}
if(j<i){
s[j]='\0';
}
return(j);
}
/
****asc->bcd***/
int iAscToBcd(char *pcASC,char *pcBCD,int iLength){
int i;
for(i=0;i<iLength/2;i++){
unsigned char ch1,ch2;
ch1=(unsigned char)pcASC[i*2];
ch2=(unsigned char)pcASC[i*2+1];
if(ch1>='a' && ch1<='f')
ch1=ch1-'a'+0xa;
else if(ch1>='A' && ch1<='F')
ch1=ch1-'A'+0xa;
else
ch1=ch1-'0';
if(ch2>='a' && ch2<='f')
ch2=ch2-'a'+0xa;
else if(ch2>='A' && ch2<='F')
ch2=ch2-'A'+0xa;
else
ch2=ch2-'0';
pcBCD[i]=(ch1<<4)|ch2;
}
return(0);
}
/****bcd->asc***/
int iBcdToAsc(char *pcBCD,char *pcASC,int iLength){ int i;
for(i=0;i<iLength;i++){
unsigned char ch;
ch=(unsigned char)pcBCD[i];
ch=ch>>4;
if(ch>=10){
pcASC[2*i]=ch-10+'A';
}else{
pcASC[2*i]=ch+'0';
}
ch=(unsigned char)pcBCD[i];
ch=ch &0x0f;
if(ch>=10){
pcASC[2*i+1]=ch-10+'A';
}else{
pcASC[2*i+1]=ch+'0';
}
}
return(0);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论