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::generic_string,std::filesystem::path::generic_wstring,(3) C++ Standard Libary std::filesystem::path::generic_string,std::filesystem::path::generic_wstring,(3)

std::filesystem::path::generic_string,std::filesystem::path::generic_wstring, - std::filesystem::path::generic_string,std::filesystem::path::generic_wstring,


std::filesystem::path::generic_u32string


template< class CharT, class Traits =
std::char_traits<CharT>,
(since
class Alloc = std::allocator<CharT> > (1) C++17)
std::basic_string<CharT,Traits,Alloc>


generic_string( const Alloc& a = Alloc() ) const;
std::string generic_string() const;
std::wstring generic_wstring() const;
std::u16string generic_u16string() const;
std::u32string generic_u32string() const;
(2) (since (since
std::string generic_u8string() const; C++17) C++17)
(3) (until
C++20)
std::u8string generic_u8string() const; (since
C++20)


Returns the internal pathname in generic pathname format, converted to specific
string type. Conversion, if any, is specified as follows:


* If path::value_type is char, conversion, if any, is system-dependent. This is
the case on typical POSIX systems (such as Linux), where native encoding is
UTF-8 and string() performs no conversion.
* Otherwise, if path::value_type is wchar_t, conversion, if any, is unspecified.
This is the case on Windows, where wchar_t is 16 bit and the native encoding is
UTF-16.
* Otherwise, if path::value_type is char16_t, native encoding is UTF-16 and the
conversion method is unspecified.
* Otherwise, if path::value_type is char32_t, native encoding is UTF-32 and the
conversion method is unspecified.
* Otherwise, if path::value_type is char8_t, native encoding is UTF-8 and the
conversion method is unspecified.


The / character is used as the directory separator.


1) All memory allocations are performed by a.
3) The result encoding in the case of u8string() is always UTF-8.


a - allocator to construct the string with


-
CharT must be one of the encoded character types (char, wchar_t
, char8_t
(since C++20), char16_t and char32_t)


The internal pathname in generic pathname format, converted to specified string
type.


May throw implementation-defined exceptions.

// Run this code


#include <cstddef>
#include <filesystem>
#include <iomanip>
#include <iostream>
#include <span>
#include <string_view>


void print(std::string_view rem, auto const& str) {
std::cout << rem << std::hex << std::uppercase << std::setfill('0');
for (const auto b : std::as_bytes(std::span{str})) {
std::cout << std::setw(2) << std::to_integer<unsigned>(b) << ' ';
}
std::cout << '\n';
}


int main()
{
std::filesystem::path p{"/家/屋"};
std::cout << p << '\n';


print("string : ", p.generic_string ());
print("u8string : ", p.generic_u8string ());
print("u16string : ", p.generic_u16string());
print("u32string : ", p.generic_u32string());
// print("wstring : ", p.generic_wstring ());
// gcc-11.0.0 2020.12.30 still fails, clang-10 - ok
}


"/家/屋"
string : 2F E5 AE B6 2F E5 B1 8B
u8string : 2F E5 AE B6 2F E5 B1 8B
u16string : 2F 00 B6 5B 2F 00 4B 5C
u32string : 2F 00 00 00 B6 5B 00 00 2F 00 00 00 4B 5C 00 00


string
wstring returns the path in native pathname format converted to a string
u8string (public member function)
u16string
u32string

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.