[疑难] 切片错误?
oldrev
2008-10-18
import std.stdio; void main() { char[] s = r"abcde%"; char[] b = s[0..$] ; writefln(b.length); } 根本没有问题,程序输出6,你用 writefln 直接打印 b 那当然是异常了 |
|
ideage
2008-10-18
谢谢oldrev!
终于发现问题了,是用writefln调试的原因. 代码没有问题. import std.stdio; void main() { char[] s ="abcde%%"; char[] b = s[0..$] ; assert(b=="abcde%%"); } |
|
Colorful
2008-10-18
的确, Slicing 没有问题。
有问题的是 writefln 的用法。 import std.stdio; void main() { char[] a = "abcde%"; auto b = a[0..$]; writefln("%s", b); } |