Я использую Visual Studio Community 2017 15.8.2.Я пытаюсь использовать решение из этого SO потока , чтобы создать каталог для каждого элемента пути, если он не существует.
Однако в строке, которая вызывает create_directories
Iполучить ошибку: namespace "std::experimental::filesystem" has no member "create_directories."
Я попытался с std::experimental::filesystem
и std::filesystem
безуспешно.
Я попытался изменить версию c ++ в свойствах проекта на c ++ 17, установивстандарт языка ISO C++17 Standard (/std:c++17)
, все та же ошибка.
Когда я захожу в пространство имен файловой системы, чтобы увидеть заголовок, я вижу, что нет функции create_directories.
Согласно this должна быть такая функция, но в файле заголовка, который я читаю, я вижу только класс path
из всех этих классов и функций.Расположение файла заголовка:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include
Вот как выглядит мой код:
#include "pch.h"
#include <fstream>
int main(){
namespace fs = std::experimental::filesystem; // In C++17 use std::filesystem.
try {
fs::create_directories("C:\\Program Files\\Test");
}
catch (std::exception& e) { // Not using fs::filesystem_error since std::bad_alloc can throw too.
std::cout << e.what() << std::endl;
}
}