string from C function - to!string

Dom DiSc dominikus at scherkl.de
Wed May 14 13:49:16 UTC 2025


On Wednesday, 14 May 2025 at 11:38:59 UTC, Nick Treleaven wrote:
> On Wednesday, 14 May 2025 at 03:36:40 UTC, Jonathan M Davis 
> wrote:
>> to!string definitely deals with null-terminated strings, or it 
>> wouldn't work at all. It's not the kind of thing that would 
>> work by accident.
>
> I don't think it's good API design:
>
>> Pointer to string conversions convert the pointer to a size_t 
>> value. If pointer is char*, treat it as C-style strings. In 
>> that case, this function is @system.
>
> So `to!string` is bad for generic code.

Yup. to!T is like a swiss army knife - it can do everything, but 
it is never as good as a tool dedicated to a specific purpose.

So, to!T is good if T can be anything, but if you know beforehand 
that T will always be string, use something else like 
ptr.fromStringz.idup


More information about the Digitalmars-d-learn mailing list