GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::filesystem::path::make_preferred(3) C++ Standard Libary std::filesystem::path::make_preferred(3)

std::filesystem::path::make_preferred - std::filesystem::path::make_preferred


path& make_preferred(); (since C++17)


Converts all directory separators in the generic-format view of the path to the
preferred directory separator.


For example, on Windows, where \ is the preferred separator, the path foo/bar will
be converted to foo\bar.


(none)


*this


May throw implementation-defined exceptions.


Windows can use / as a separator, but prefers \, so make_preferred converts the
forward slashes to backslashes. On the other hand, POSIX does not use \ as a
separator, because backslashes are valid filename characters — the Windows path on
POSIX actually refers to a file with the name "a\\b\\c". For this reason the
"separators" are not converted.

// Run this code


#include <filesystem>
#include <iostream>
#include <iomanip>


int main()
{
std::filesystem::path windows_path{"a\\b\\c"};
std::filesystem::path posix_path{"a/b/c"};
std::cout << "Windows path: "
<< std::quoted(windows_path.string()) << " -> "
<< std::quoted(windows_path.make_preferred().string()) << '\n'
<< "POSIX path: "
<< std::quoted(posix_path.string()) << " -> "
<< std::quoted(posix_path.make_preferred().string()) << '\n';
}


# on Windows
Windows path: "a\\b\\c" -> "a\\b\\c"
POSIX path: "a/b/c" -> "a\\b\\c"
# on POSIX
Windows path: "a\\b\\c" -> "a\\b\\c"
POSIX path: "a/b/c" -> "a/b/c"


alternative directory separator which may be used in addition
constexpr value_type to the portable /. On Windows, this is the backslash character
preferred_separator \. On POSIX, this is the same forward slash / as the portable
[static] separator
(public static member constant)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.