Re: Valid File Path

2017-09-01 Thread Vino.B via Digitalmars-d-learn
On Thursday, 31 August 2017 at 23:45:01 UTC, Jonathan M Davis 
wrote:
On Thursday, August 31, 2017 23:23:17 Vino via 
Digitalmars-d-learn wrote:

[...]


And why would that not be valid? isValidPath and 
isValidFilename are quite specific about what they think are 
valid path/file names, and having a # in a file name is 
perfectly legitimate. They do have some extra restrictions for 
Windows, since Windows is a lot pickier about its filenames 
than the rest of the world, but # is not one of the characters 
listed as invalid:


https://dlang.org/phobos/std_path.html#isValidPath 
https://dlang.org/phobos/std_path.html#isValidFilename


It would be invalid to have # as a drive name, but it's 
perfectly legal in a filename or directory name.


- Jonathan M Davis


Hi,

  Thank you very much for the explanation, was able to resolve 
the issue.


Re: Valid File Path

2017-08-31 Thread Jonathan M Davis via Digitalmars-d-learn
On Thursday, August 31, 2017 23:23:17 Vino via Digitalmars-d-learn wrote:
> On Thursday, 31 August 2017 at 21:59:22 UTC, vino wrote:
> > Hi All,
> >
> >   Can you help me what is wrong in the below program, as the
> >
> > output is empty.
> >
> > import std.stdio, std.path;
> >
> > void main ()
> > {
> > version (Windows)
> > {
> > auto Path = `C:\#Users\Admin\Desktop\Script\Test1`;
> > if(!Path.isValidPath) { writeln("Path Not Valid");}
> > }
> > }
> >
> > From,
> > Vino.B
>
> Hi,
>
> The path is not valid as it contains the character # after the
> drive name.

And why would that not be valid? isValidPath and isValidFilename are quite
specific about what they think are valid path/file names, and having a # in
a file name is perfectly legitimate. They do have some extra restrictions
for Windows, since Windows is a lot pickier about its filenames than the
rest of the world, but # is not one of the characters listed as invalid:

https://dlang.org/phobos/std_path.html#isValidPath
https://dlang.org/phobos/std_path.html#isValidFilename

It would be invalid to have # as a drive name, but it's perfectly legal in a
filename or directory name.

- Jonathan M Davis



Re: Valid File Path

2017-08-31 Thread Vino via Digitalmars-d-learn

On Thursday, 31 August 2017 at 21:59:22 UTC, vino wrote:

Hi All,

  Can you help me what is wrong in the below program, as the 
output is empty.


import std.stdio, std.path;

void main ()
{
version (Windows)
{
auto Path = `C:\#Users\Admin\Desktop\Script\Test1`;
if(!Path.isValidPath) { writeln("Path Not Valid");}
}
}

From,
Vino.B

Hi,

The path is not valid as it contains the character # after the 
drive name.




Re: Valid File Path

2017-08-31 Thread Cym13 via Digitalmars-d-learn

On Thursday, 31 August 2017 at 21:59:22 UTC, vino wrote:

Hi All,

  Can you help me what is wrong in the below program, as the 
output is empty.


import std.stdio, std.path;

void main ()
{
version (Windows)
{
auto Path = `C:\#Users\Admin\Desktop\Script\Test1`;
if(!Path.isValidPath) { writeln("Path Not Valid");}
}
}

From,
Vino.B


It doesn't print anything because the path is valid. Why do you 
expect otherwise?


Note that isValidPath is only used for syntax check, it does not 
checks that the file or directory exists. If that is what you 
want use std.file.exists instead.