Let's say I have a D application, with some callbacks from C, where some arguments to the callbacks are const char* path. What is the recommended way to compare them to D strings? Without making allocations, if that's possible
November 23, 2023 comparing with c strings | ||||
|---|---|---|---|---|
| ||||
November 23, 2023 Re: comparing with c strings | ||||
|---|---|---|---|---|
| ||||
Posted in reply to denis | On Thursday, November 23, 2023 11:29:09 AM MST denis via Digitalmars-d-learn wrote: > Let's say I have a D application, with some callbacks from C, where some arguments to the callbacks are `const char* path`. What is the recommended way to compare them to D strings? Without making allocations, if that's possible std.string.fromStringz will slice the char* to give you a char[] (using strlen to find the end of the string). Then you can operate on the C string as a char[] - though since it's a slice of the char*, you'll want to dup or idup it if the char[] risks living longer than the char* that it's a slice of. But if all you're doing is comparing it against a D string, then presumably, you don't need to keep the char[] around, and you won't have to allocate a copy. https://dlang.org/phobos/std_string.html#.fromStringz - Jonathan M Davis | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply