PChar:指针字符串型,是一个指向以零结尾的字符串的指针。
请问怎样理解“指向以零结尾的字符串的指针”?
举个例子说明其用法。

解决方案 »

  1.   

    'ABCDEF'#0
    这个就是个0结尾的串
      

  2.   

    再说的详细些
    由于Windows本身是用C语言编写的,大量的API也使用C风格的数据类型,因此Object Pascal在基本的数据类型中增加了对C风格特性支持,如:Null结尾字符串(PChar类型),以0为基础的索引(在动态数组下标及数组属性下标中都使用这种特性)。相应的也提供了对这些特性进行处理的例程。给个有趣的例子
      Str:String;
      SetLength(Str,300);
      Str[50]:='a';
      Edit1.Text:=Str;
    得到的Edit1.Text字符串里没有'a' TEdit控件最终是由Windows控件实现的,而Windows本身使用的是C风格字符串,即NULL结尾字符串(null-terminated string),也就是说,当一个Windows控件处理字符串时,遇到NULL(Ascii码0)即认为字符串结束。上面的代码中只指定了Str[50]的值,前49个字符没有初始化,仍为#0,因此Edit1.Text最终得到的只是一个空字符串