我想在目录不存在时强制文件打开

时间:2011-09-20 08:59:06

标签: c++ c

当我通过下一个方式打开文件时: ofstream outputFile(Filename,ios :: out | ios :: binary);

当目录不存在时,我得到错误结果:

气温\ FILENAME.EXT

当目录存在时,它运行良好。 我想知道如何在c ++命令中强制执行操作

3 个答案:

答案 0 :(得分:2)

你做不到。在c ++中没有标准化的方法来创建目录 你可能想看看来自boost的filesystem library。有多个函数可以检查目录/文件是否退出,如果没有,还可以创建它们。

答案 1 :(得分:1)

如果文件不存在,则在创建ofstream时会自动创建该文件。但是,您希望创建此文件的目录必须已存在。

无法在C ++中自动创建目录。您必须使用C ++创建目录。

此外,遗憾的是,没有C ++标准的处理目录的方法。您必须恢复到操作系统的C系统库mkdir才能创建它。

答案 2 :(得分:0)

我是第一个承认我对C一无所知的人,但是在任何编程语言中试图强制对不存在的文件执行打开文件操作是一件坏事!

检查您尝试打开的文件是否存在。如果没有,请创建它。如果您无法创建它,那么优雅地失败。