Function std.path.isValidFilename
Checks that the given file or directory name is valid.
The maximum length of
is given by the constant
filename
core.stdc.stdio.FILENAME_MAX
. (On Windows, this number is
defined as the maximum number of UTF-16 code points, and the
test will therefore only yield strictly correct results when
is a string of filename
wchar
s.)
On Windows, the following criteria must be satisfied (source):
must not contain any characters whose integer representation is in the range 0-31.filename
must not contain any of the following reservedfilename
characters: <>:"/\|?*
may not end with a space (filename
' '
) or a period ('.'
).
On POSIX,
may not contain a forward slash (filename
'/'
) or
the null character ('\0'
).
Prototype
bool isValidFilename(Range)( Range filename ) if (is(StringTypeOf!Range) || isRandomAccessRange!Range && hasLength!Range && hasSlicing!Range && isSomeChar!(ElementEncodingType!Range));
Parameters
Name | Description |
---|---|
filename | string to check |
Returns
true
if and only if
is not
empty, not too long, and does not contain invalid characters.
filename
Example
import std.utf : byCodeUnit; assert(isValidFilename("hello.exe".byCodeUnit));
Authors
Lars Tandle Kyllingstad, Walter Bright, Grzegorz Adam Hankiewicz, Thomas Kühne, Andrei Alexandrescu