View source code
Display the source code in std/string.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Function std.string.fromStringz
inout(Char)[] fromStringz(Char)
(
scope return inout(Char)* cString
) pure nothrow @nogc @system
if (isSomeChar!Char);
inout(Char)[] fromStringz(Char)
(
scope return inout(Char)[] cString
) pure nothrow @nogc @safe
if (isSomeChar!Char);
Parameters
Name | Description |
---|---|
cString | A null-terminated c-style string. |
Returns
A D-style array of char
, wchar
or dchar
referencing the same
string. The returned array will retain the same type qualifiers as the input.
Important Note: The returned array is a slice of the original buffer. The original data is not changed and not copied.
Example
writeln(fromStringz("foo\0"c .ptr)); // "foo"c
writeln(fromStringz("foo\0"w .ptr)); // "foo"w
writeln(fromStringz("foo\0"d .ptr)); // "foo"d
writeln(fromStringz("福\0"c .ptr)); // "福"c
writeln(fromStringz("福\0"w .ptr)); // "福"w
writeln(fromStringz("福\0"d .ptr)); // "福"d
Example
struct C
{
char[32] name;
}
writeln(C("foo\0"c) .name .fromStringz()); // "foo"c
struct W
{
wchar[32] name;
}
writeln(W("foo\0"w) .name .fromStringz()); // "foo"w
struct D
{
dchar[32] name;
}
writeln(D("foo\0"d) .name .fromStringz()); // "foo"d
Authors
Walter Bright, Andrei Alexandrescu, Jonathan M Davis, and David L. 'SpottedTiger' Davis
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.