what exactly is string length?

Berni44 someone at somemail.com
Fri Apr 2 15:52:50 UTC 2021


On Friday, 2 April 2021 at 15:01:07 UTC, mw wrote:
> BTW, shall I log a writeln() improvement bug ?
>
> It's really confusing, e.g as debug print or logs.

In my opinion this isn't a bug. The nulls are actually printed:

```
$> rdmd test.d | hd
00000000  61 62 63 00 00 00 36 0a  68 65 61 64 2d 61 62 63  
|abc...6.head-abc|
00000010  00 00 00 2d 74 61 69 6c  31 36 0a                 
|...-tail16.|
0000001b
```

It's just, that you can't see them, because it's an invisible 
character.

If you want to get `\0` for nulls, you could write

```
writefln!"%(%s%)"(only(t));
```

With this, `t` is printed as a string literal:

```
"head-abc\0\0\0-tail"
```


More information about the Digitalmars-d-learn mailing list