我正在尝试将文件保存到某个位置,如下所示:
int main( int ac, char **av )
{
TiXmlDocument tinyxml_document_object;
std::string file_path = av[0];
std::replace(file_path.begin(), file_path.end(), '\\', '/');
file_path = file_path.substr(0, file_path.find_last_of("/"));
file_path = file_path.substr(0, file_path.find_last_of("/") + 1);
file_path = file_path.substr(0, file_path.find_last_of("/") - 8);
Environment_C::PutEnv("DATA_ROOT", file_path + "test_output/my_file.xml");
std::string system_settings_dir = file_path + "test_output/my_file.xml";
std::cout<< system_settings_dir.c_str();
tinyxml_document_object.SaveFile( system_settings_dir.c_str() );
return 0;
}
但是当我执行它时,不会创建任何文件夹作为“test_output”。这里的文件路径是:
file_path = "D:/project/learning/target/"
我正在尝试创建另一个名为“test_output”的文件夹,其中包含“my_file.xml”。这里system_settings_dir是:
system_settings_dir = D:/project/learning/target/test_output/my_file.xml
那么,请帮我解释为什么没有创建这个文件夹?如果这不对,那么建议我将“my_file.xml”文件保存到同一位置的正确方法。
答案 0 :(得分:1)
打开要写入的文件只会创建文件,而不是完整的目录层次结构。
在运行程序之前,您需要确保存在实际的目录层次结构(即D:/project/learning/target/test_output
)。