我使用GetMem(1028字节长度)分配内存,所以我有一个已分配的指针。
然后我正在阅读内容,我知道有例如读取1028个字节。 如何转换指针或将其转换为字符串?
我应该在转换之前将null内容终止吗?
谢谢!
答案 0 :(得分:8)
使用SetString
。传递一个字符串变量,指针和字符串长度(1028)。 Delphi字符串是隐式空终止的,因此函数会自动添加(即使你的缓冲区中已经有空字节)。
更好的是,设置字符串的长度并直接将数据读入其中,而不是使用中间缓冲区。如果必须使用中间缓冲区,也可以使用静态大小为1028字节的缓冲区,而不是使用动态内存管理使程序复杂化。