Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.


//  directory_symlink_parent_resolution.cpp  -------------------------------------------//

//  Copyright Beman Dawes 2015

//  Distributed under the Boost Software License, Version 1.0.
//  See

//  Library home page:

#include <boost/filesystem.hpp>
#include <boost/filesystem/string_file.hpp>
#include <boost/detail/lightweight_main.hpp>
#include <iostream>
#include <string>

using std::cout;
using std::endl;
using namespace boost::filesystem;

int cpp_main(int argc, char* argv[])
    cout << "BOOST_WINDOWS_API" << endl;
    cout << "BOOST_POSIX_API" << endl;

    path test_dir(current_path() / "dspr_demo");

    create_directories(test_dir / "a/c/d");
    current_path(test_dir / "a");
    create_directory_symlink("c/d", "b");
    save_string_file("name.txt", "Windows");
    save_string_file("c/name.txt", "POSIX");
    std::string s;
    load_string_file("a/b/../name.txt", s);
    cout << s << endl;

    return 0;