-1
我想一个C++转换FOR循环德尔福,但我不知道该怎么做。 ..
这是C++函数:
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask) return 0;
return (*szMask) == NULL;
}
我刚刚转换函数声明:
function bCOmpare(pData: PBYTE; bMask: PBYTE; szMask: PCHAR):boolean;
begin
//...
end;
是怎样的转换?
感谢
完美!谢谢大卫 – paulohr 2012-04-12 13:45:25
只要避免使用“PAnsiChar”。使用其通用类型“PChar”。 – 2012-04-12 18:23:46
@ChristopherRamírez不,这是可怜的建议。在Delphi 2009和更高版本中,'Char'的宽度是2个字节。在Windows的C和C++中,'char'总是1个字节宽。出于这个原因,我在答案中从问题中的'PChar'改为'PAnsiChar'是非常有意的。 – 2012-04-12 18:26:35