pszPack = (PWSTR) (pPacked + 1);pszPack 为PWideChar 类型,即 PWSTR
pPacked 为指向一记录类型的指针。
我就是不明白在C里面对指针加1操作在Delphi里如何实现,
我试过Inc(pPacked),但是发现Inc 后它的地址没有改变。还有如下类似语句:
pszPack += (pPacked->dwDomainLength / sizeof(WCHAR) );

解决方案 »

  1.   

    我还有一些翻译C至Delphi的问题,将一一开帖,请多指教!
      

  2.   

    假设pszPack是Pchar类型:
    pszPack = (PWSTR) (pPacked + 1);
    =>pszPack = PChar(PChar(pPacked) + 1);
    如果假设pszPack是Pwchar类型:
    =>pszPack = PWChar(PChar(pPacked) + 2);//不知道delphi是否允许PWChar+/-所以,+2,保证没问题
      

  3.   

    pszPack += (pPacked->dwDomainLength / sizeof(WCHAR) );
    =>假设pszPack是Pchar类型:
    Inc( pszPack, pPacked.dwDomainLength div sizeof(WCHAR) );
      

  4.   

    to flyinwuhan我现在试下,不过我说过,Inc(var, length);好像不起作用,指针地址并没有改变。
    但我看上下文关系,C++代码的意思是改变指针地址后保存相应数据。
      

  5.   

    非常感谢,我理解错了。INC是对了,是操作指针的值,不是地址,指针不应该修改地址的。