在Dlang中使用slice时出现这个问题如何解决?

问题描述 投票:0回答:1

在此输入图片描述

当我尝试在 Dlang 中使用 slice 来获取字符串的特定数据时,就发生了这样的情况,类似于在 C++ 中使用 substr() 和 Java 中使用 substring() 。

因为我在Dlang中找不到substring函数的官方替代,所以我使用了slice函数......如何解决?

substring d
1个回答
0
投票

word
默认为空字符串
""
,长度为 0。它作为参数
count
传递到
data
函数中。

count
函数中,变量
space
的值为
" "
,长度为 1。

在您的

count
函数中,您使用条件
x < data.length - space.length

所以你要从 0 中减去 1。

length
在数组上是一个无符号值,这意味着表达式值不是 -1,而是
size_t.max
。因此,循环永远不会终止,并且循环内的数组访问会越界。

回答你的问题,切片相当于一个典型的子字符串函数,你做得对!

我还建议阅读std.algorithm.find,以及其他算法函数,您不必自己实现这些。

© www.soinside.com 2019 - 2024. All rights reserved.