指向字符串转换的指针?

时间:2011-08-30 13:29:13

标签: delphi

我使用GetMem(1028字节长度)分配内存,所以我有一个已分配的指针。

然后我正在阅读内容,我知道有例如读取1028个字节。 如何转换指针或将其转换为字符串?

我应该在转换之前将null内容终止吗?

谢谢!

1 个答案:

答案 0 :(得分:8)

使用SetString。传递一个字符串变量,指针和字符串长度(1028)。 Delphi字符串是隐式空终止的,因此函数会自动添加(即使你的缓冲区中已经有空字节)。

更好的是,设置字符串的长度并直接将数据读入其中,而不是使用中间缓冲区。如果必须使用中间缓冲区,也可以使用静态大小为1028字节的缓冲区,而不是使用动态内存管理使程序复杂化。