【发布时间】:2011-05-09 04:48:44
【问题描述】:
所以,我正在尝试更改我的目录以保存文件,然后更改回我之前所在的目录。
基本上:
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);。每当您输入函数时,您都会设置要处理的文件夹的路径。 -
我不会使用“../”作为父文件夹,而只是使用“..”。
标签: c++ boost boost-filesystem