C++ 我想在目录不存在时强制打开文件
当我以下一种方式打开文件时: 流输出文件(文件名,ios::out | ios::binary) 当目录不存在时,我得到错误结果: temp\filename.ext 当目录存在时,它工作良好。C++ 我想在目录不存在时强制打开文件,c++,c,C++,C,当我以下一种方式打开文件时: 流输出文件(文件名,ios::out | ios::binary) 当目录不存在时,我得到错误结果: temp\filename.ext 当目录存在时,它工作良好。 我想知道如何在C++命令中强制操作< /p> < p>我是第一个承认我对C一无所知的人,但是在任何编程语言中,试图强制打开一个不存在的文件是不好的事情!p> 检查您试图打开的文件是否存在。如果没有,就创建它。如果你不能创造它,那么就优雅地失败 我是第一个承认我对C一无所知的人,但在任何编程语言中,试图对
我想知道如何在C++命令中强制操作< /p> < p>我是第一个承认我对C一无所知的人,但是在任何编程语言中,试图强制打开一个不存在的文件是不好的事情!p>
检查您试图打开的文件是否存在。如果没有,就创建它。如果你不能创造它,那么就优雅地失败 我是第一个承认我对C一无所知的人,但在任何编程语言中,试图对不存在的文件强制执行打开文件操作都是一件坏事
检查您试图打开的文件是否存在。如果没有,就创建它。如果你不能创造它,那么就优雅地失败 你不能。在C++中没有创建目录的标准化方法。
您可能想看看boost的性能。有多个函数可用于检查目录/文件是否存在以及如何创建它们。您不能。在C++中没有创建目录的标准化方法。
您可能想看看boost的性能。有多个函数可用于检查目录/文件是否存在以及如何创建它们。如果不存在,则在创建流的
时会自动创建文件。但是要创建此文件的目录必须已经存在
< >在C++中自动创建目录是不可能的。你必须在C++中创建目录。
此外,不幸的是,没有C++标准的处理目录的方式。您必须还原到操作系统的C系统库
mkdir
,才能创建它。如果流不存在,则在创建流时会自动创建该文件。但是要创建此文件的目录必须已经存在
< >在C++中自动创建目录是不可能的。你必须在C++中创建目录。
此外,不幸的是,没有C++标准的处理目录的方式。您必须还原到操作系统的C系统库
mkdir
,才能创建它。您希望如何打开一个不存在的文件?在尝试打开文件之前,您的代码应检查文件是否存在,如果不存在,则应在需要时尝试创建文件。使用哪种语言?C或C++?你希望如何打开一个不存在的文件?在尝试打开文件之前,您的代码应检查文件是否存在,如果不存在,则应在需要时尝试创建文件。使用哪种语言?C或C++?MKDIR()在几乎所有的OSES上工作(尽管Windows和Linux上的语法有点不同)。@ RADU:“语法有点不同”;这是我对非标准化方式的定义。即使如此,它只是一些#ifdef,因此实际上它尽可能接近标准:)当然,人们可以为它制作一个宏。mkdir()在几乎所有的操作系统上都能工作(尽管在Windows和Linux上语法有点不同)。@Radu:“语法有点不同”;-)这就是我对“无标准化方式”的定义。即使如此,它也只是一些“如果有”,因此实际上它尽可能接近标准:),当然,人们可以为它生成宏。这不是文件存在与否的问题。当创建文件时,目录不存在。事实上,一般不会发现C或C++函数(或大多数其他语言的函数)只创建文件。你打开它们;如果打开一个不存在的文件进行读取,这是一个错误。如果打开不存在的文件进行写入,则会创建该文件。这就是创建文件的方式。这不是文件是否存在的问题。当创建文件时,目录不存在。事实上,一般不会发现C或C++函数(或大多数其他语言的函数)只创建文件。你打开它们;如果打开一个不存在的文件进行读取,这是一个错误。如果打开不存在的文件进行写入,则会创建该文件。这就是创建文件的方式。mkdir是linux文件系统应用程序。我需要Linux或Windows的C++或C函数。正如您所理解的,我的应用程序是跨平台的Appon Windows,Visual C++的C运行时提供了函数<代码>界面很简单。与使用全功能库相比,根据平台使用mkdir
和\u mkdir
宏开关是轻量级的。mkdir是linux文件系统应用程序。我需要Linux或Windows的C++或C函数。正如您所理解的,我的应用程序是跨平台的Appon Windows,Visual C++的C运行时提供了函数<代码>界面很简单。与使用全功能库相比,根据平台使用mkdir
和\u mkdir
宏开关是轻量级的。