Delphi中有一个PChar类型的变量
recp: PChar;
在数据处理中会进行 
recp[0] := #0;
现在我需要将这段代码用C++改写,但不知道这个#0该怎么处理,
如果我写成
*recp = NULL;
在调用这个dll的Delphi程序中编译没问题,但是运行到此函数时会出现指向0x0000000的内存问题
确定问题是因为这个造成的,不知道有没有人能解个惑Delphi的#0究竟是什么?

解决方案 »

  1.   

    #0不是空,只不过是填充字符罢了,表示什么都没输入,你用ultraedit打开一个空文本,看到里面的那些0了么?那就是#0
      

  2.   

    delphi中的#0是ASCII码里的第一个(即控制符NUT),#13是回车。
      

  3.   

    recp[0] := #0;
    在C++中是:
    recp[0] = 0x0;
      

  4.   

    你出错不是因为你写的null错了,而是你c++申明了一个指针,这个指针确指向了0x00000000这个地址,所以你赋值才会出错