Boost logo

Boost Users :

From: Rush Manbert (rush_at_[hidden])
Date: 2007-04-17 18:30:02


Graham Reitz wrote:
> Why does the following path initialization throw this?
>
> "boost::filesystem::path: invalid name "c:" in path:
> "c:/dev/Sandbox/file_system/
> textfile1.txt"
>
> How do you set paths that should work on windows and linux without avoiding
> this issue? Since linux doesn't have drive like C: D: and etc?
>
> try
> {
> // Is this not an appropriate method to initialize path objects?
> path text_file(current_path().string() + "/textfile1.txt");
>
> if (exists(text_file))
> { cout << file_size(text_file) << endl; }
> }
> catch (const filesystem_error& e)
> {
> cout << e.what() << endl;
> }
>
> I am running this under windows.
>
I think you need to use the native name checker like this:

     path text_file(current_path().string() + "/textfile1.txt",
boost::filesystem::native);

- Rush


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net