当前位置:  技术问答>linux和unix

警搞comparison is always true due to limited range of data type,如何去除.

    来源: 互联网  发布时间:2016-08-21

    本文导语:  编译出现一个警告: main.c:350: warning: comparison is always true due to limited range of data type //转义字符 int CharEscap(unsigned char *buf,int iLen) { unsigned char temp,endtemp; int i,j; for( i = 0 ; i = 0x00) && (buf[i] i;j--)   ...

编译出现一个警告:
main.c:350: warning: comparison is always true due to limited range of data type

//转义字符
int CharEscap(unsigned char *buf,int iLen)
{
unsigned char temp,endtemp;
int i,j;

for( i = 0 ; i = 0x00) && (buf[i] i;j--)           //空出位置来,来放转义字符
{
temp=buf[j];
buf[j+1]=temp;
}
temp=buf[i]+0x20;
buf[i++]=0x7d;
buf[i]=temp;
buf[iLen]=endtemp;
}
else if(buf[i]==0x7d)    //0x7d
{
endtemp=buf[iLen++];
for(j=iLen-1;j>i;j--)
{
temp=buf[j];
buf[j+1]=temp;
}
temp=0x5d;
buf[i++]=0x7d;
buf[i]=temp;
buf[iLen]=endtemp;
}
else if(buf[i]==0x7e)   //0x7e
{
endtemp=buf[iLen++];
for(j=iLen-1;j>i;j--)
{
temp=buf[j];
buf[j+1]=temp;
}
temp=0x5e;
buf[i++]=0x7d;
buf[i]=temp;
buf[iLen]=endtemp;

}
return(iLen);
}

应该怎么解决这个警告呢..

|
((buf[i] >= 0x00) 永远成立,因为它是无符号的.
可删除

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3