warning C4018: '<' : signed/unsigned mismatch 到底出了什么错?

LPBYTE CShitDlg::pchar_To_LPBYTE( char * str)
{
LPBYTE lpb=new BYTE[strlen(str)+1];
for(int i=0; i < strlen(str);i++)
lpb[i]=str[i];
lpb[strlen(str)]=0;
return lpb;
}

warning C4018: '<' : signed/unsigned mismatch 到底出了什么错

这是vc知识库里程序 ????????

--------------------------------------------------------

答:

for(int i=0; i < strlen(str);i++)
改为
for(unsigned int i=0; i < strlen(str);i++)
就行了。

strlen返回的是无符号数,你要用无符号数比较就不产生警告

你可能感兴趣的:(c,byte)