我在一个数据类型为ARRAY[0..60] of Ansichar
的变量中有一个文本,其中包含“Zero Ascii codes”/Chr(0)
。
文本看起来像这样:'Robot'#0#0'PosX=25'#0
我想把这段文字复制到一个字符串变量中,* 保持每个字符 *。
下面的代码可以编译,但不能像预期的那样工作。
var
MyText: array[0..60] of Ansichar;
MyString: string;
begin
...
MyString := MyText;
...
执行后,变量MyString = 'Robot'
。剩下的绳子被剪掉了。
当我尝试调用一个字符串例程(MyString := Pos(MyText, 0, 20);
)时,它也会在第一次出现Chr(0)char时截断字符串。
如何将文本转换为字符串,同时保留所有字符?
2条答案
按热度按时间ig9co6j11#
还有另一种解决方案:
即使使用AnsiChar到Char的内在转换的循环更受欢迎,提前分配字符串也会给予更好的性能:
iqih9akk2#
这个循环帮助我解决了这个问题。