Что может быть лучшим способом создать новый файл на C++ в заданном пути, если я не могу предположить, что каталоги, ведущие к этому пути, еще не найдены.Лучший способ создать файл в не существующем каталоге
Например, я хотел создать файл I:\Documents\Directory\SubDir\SubSubDir\MyFile.txt
, но каталогов SubDir
и SubSubDir
еще нет. Поэтому я должен их заранее создать.
Для этого мне позволено использовать библиотеку boost::filesystem
. Поддерживает ли boost :: filesystem такие функции?
Редактировать
После прочтения повышение :: документации файловой системы я нашел относительно простой ответ на мой вопрос.
#include <boost/filesystem.hpp>
#include <iostream>
int main(int argc, char** args) {
try {
boost::filesystem::path dirPath("I:\\Documents\\Directory\\SubDir\\SubSubDir\\MyFile.txt");
boost::filesystem::create_directories(dirPath.parent_path());
}
catch(const boost::filesystem::filesystem_error& err) {
std::cerr << err.what() << std::endl;
}
}
Большое спасибо. Как я могу извлечь часть каталога для заданного пути? В моем случае 'I: \ Documents \ Directory \ SubDir \ SubSubDir \' – Aleph0
... и это также находится в [документации] (http://www.boost.org/doc/libs/1_60_0/libs/ файловая система/DOC/reference.html # путь-разложение). Я не вижу отношения с вашим текущим вопросом, может быть, вам стоит попросить новый. Обязательно сначала прочтите документацию (возможно, это приведет к тому, что ваш вопрос будет опущен). – usr2564301
Вы правы. Прошу прощения за этот плохой вопрос. – Aleph0