почему path :: root_name () имеет другое поведение с <filesystem>и - PullRequest
0 голосов
/ 09 июля 2020

Последние пару дней я экспериментировал с поведением некоторых функций библиотеки filesystem и experimental/filesystem.

Примечание: я запускал код на https://godbolt.org/

ниже - фрагмент кода с его выводом

1. экспериментальная / файловая система

#include <iostream>
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;

int main()
{
auto  p = fs::path("//net");
std::cout<<"p = " << p
         <<"\np.root_name= "<< p.root_name()
         <<"\nand p.root_Dir= "<< p.root_directory()
         <<"\np.is_absolute= "<<p.is_absolute()<<std::endl;
}

вывод:

p = "//net"    
p.root_name= "//net"    
and p.root_Dir= ""    
p.is_absolute= 0

enter image description here 2. filesystem

#include 
#include 
namespace fs = std::filesystem;
 
int main()
{
auto  p = fs::path("//net");
std::cout

output:

p = "//net"
p.root_name= ""
and p.root_Dir= "/"
p.is_absolute= 1

Is there any way to look into the implementation of these functions ?

введите описание изображения здесь

...