dirEntries returns relative, not absolute paths
number
putimalitze at gmx.de
Tue Feb 6 18:58:43 UTC 2018
https://dlang.org/phobos/std_file.html#dirEntries
>> The name of each iterated directory entry contains the
>> absolute path.
it seems to be absolute only if the specified path is absolute,
or always relative to the parent dir of the specified path.
import std.stdio;import std.stdio;
void main()
{
import std.file;
import std.path;
assert(!"dir".exists);
scope(exit) if ("dir".exists) rmdirRecurse("dir");
mkdirRecurse("dir/dir1/dir2/dir3");
writeln("-----");
foreach (DirEntry e; dirEntries("dir", SpanMode.breadth))
{
writeln("e: " ~ e);
}
writeln("-----");
foreach (DirEntry e; dirEntries("../" ~ getcwd.baseName ~
"/dir", SpanMode.breadth))
{
writeln("e: " ~ e);
}
writeln("-----");
foreach (DirEntry e; dirEntries(getcwd ~ "/dir",
SpanMode.breadth))
{
writeln("e: " ~ e);
}
// -----
// e: dir/dir1
// e: dir/dir1/dir2
// e: dir/dir1/dir2/dir3
// -----
// e: ../dTests/dir/dir1
// e: ../dTests/dir/dir1/dir2
// e: ../dTests/dir/dir1/dir2/dir3
// -----
// e: /home/user/dTests/dir/dir1
// e: /home/user/dTests/dir/dir1/dir2
// e: /home/user/dTests/dir/dir1/dir2/dir3
}
More information about the Digitalmars-d-learn
mailing list