unsigned char* pt;
pt="hello,everybody,can you help me?";我们知道unsigned char* 对应Delphi中的PByte,
那么最简单的写法是什么呢?

解决方案 »

  1.   

    var pt:pchar;
    ..
    pt:='hello,everybody,can you help me?';
      

  2.   

    回复人: jinjazz(近身剪(N-P攻略)) 我都已经说了unsigned char* 对应Delphi中的PByte,当我这句话不存在是吧。
    我所知道的方法就是类型转换。
    var
      pc:PChar;
      pt:PByte;...........  pc:='hello,everybody,can you help me?';
      pt:=PByte(pc);因为我觉得C中的这句话也是进行了类型转换,
    unsigned char* pt;
    pt="hello,everybody,can you help me?";本来么,"hello,everybody,can you help me?"应该是个Char型数组,怎么能直接赋给unsigned char呢。对C比较熟悉的可以讲讲。
    现在发现自己基础打得一点都不扎实,一涉及到最基本的东西都拿不准。
      

  3.   

    c中可以 pt[i]这样用,pascal不可以
      

  4.   

    在C中数组与指针是隐式转换,Pascal中则是显示转换.这也体现了Pascal的严谨性
      

  5.   

    回复人: jinjazz(近身剪(N-P攻略)) 我指的不是数组的问题,我是说c中的 char* 对应delphi中的pchar,而unsigned char* 应该对应pbyte,所以现在是对这个pbyte的赋值。
      

  6.   

    var pt:PByte;...........  pchar(pt):='hello,everybody,can you help me?'
      

  7.   

    c的语法很灵活,char和byte可以随便隐性转,可以做加减运算,pascal不可以,你不要用pascal的规则理解c的语法