Итак, я пытаюсь изменить свой каталог для сохранения файлов, а затем вернуться в каталог, в котором я был ранее.
По сути:
cd folder_name
<save file>
cd ../
Вот код, который у меня есть до сих пор:
void save_to_folder(struct fann * network, const char * save_name)
{
boost::filesystem::path config_folder(Config::CONFIG_FOLDER_NAME);
boost::filesystem::path parent_folder("../");
if( !(boost::filesystem::equivalent(config_folder, boost::filesystem::current_path())))
{
if( !(boost::filesystem::exists(config_folder)))
{
std::cout << "Network Config Directory not found...\n";
std::cout << "Creating folder called " << Config::CONFIG_FOLDER_NAME << "\n";
boost::filesystem::create_directory(config_folder);
}
boost::filesystem::current_path(config_folder);
}
fann_save(network, save_name);
boost::filesystem::current_path(parent_folder);
}
В настоящее время при каждом вызове метода происходит следующее:
Папка не существует: создается
Папка не существует: создается
Это не часть cd ../
. знак равно
поэтому моя структура каталогов выглядит так:
имя_папки
- имя_папки
-- имя_папки
--- имя_папки
boost::filesystem::current_path(parent_folder);
. Всякий раз, когда вы входите в функцию, вы устанавливаете путь к папке, с которой хотите работать. - person Purnima   schedule 09.05.2011