小编583*_*746的帖子

当我的字符串包含#0字符时,为什么ShowMessage会给出意外的输出?

今天我偶然发现了一些神秘的东西.这行代码:

showmessage(menuMain.player[2] + ' ready!');
Run Code Online (Sandbox Code Playgroud)

生成此消息(例如menuMain.player [2] = Player):

播放机

但是如果我以这种方式放置代码(例如menuMain.player [2] = Player):

showmessage('Test: ' + menuMain.player[2]);
Run Code Online (Sandbox Code Playgroud)

它将生成此消息:

测试:玩家

根据调试器,字符串的确切值(buffer := menuMain.player[2] + ' ready!')是这样的:

'玩家'#0#0#0#0#0#0#0'0'准备就绪!'

我老实说相信这是一个编译器故障,因为我在另一个代码块中有完全相同的行,并且它完美无缺.

现在对我来说最难的部分是,我是愚蠢的,还是这确实是一个小故障?

delphi string delphi-10-seattle

-3
推荐指数
1
解决办法
166
查看次数

标签 统计

delphi ×1

delphi-10-seattle ×1

string ×1