#0=CHR(0) :ASCII为0的字符,一般情况下,表示字符串的终止。
你这个实例是在内存空间申请一块内存块,长度为LEN,内容都是空。
str := stringofchar(#0, len);
===〉str='';
但是跟 str:=''不同,如果是直接str:=''在后面做copy,left等字符编辑的时候,系统不得不重新申请空间,因为str:=''只是分配了一个单元的空间给str,这样的赋值方式常用在公共变量一些反复使用的字符串定义中,避免产生内存碎片。
实际上如果要做得更好应该是:str := stringofchar(#0, len+1);这样字符串赋值了长度为len的字符之后还有1个字节的空间来放终止符:#0。