如何确保文件存在并且已打开
How to make sure file exists and it is opened
我正在尝试制作一个程序来检查文件是否存在,否则它会创建并打开它。这是我尝试做的:
fstream file("data.txt");
if (!file.is_open())
{
ofstream file("data.txt");
file.close();
}
fstream file("data.txt");
程序尝试打开 data.txt 文件,如果它不存在,它会创建它,但它是本地的,所以我必须在 main 函数中关闭并打开它。如果文件已经存在,我会收到多实例错误。
我尝试在打开文件之前关闭它,但它仍然给我同样的错误。代码:
fstream file("data.txt");
if (!file.is_open())
{
ofstream file("data.txt");
file.close();
}
file.close();
fstream file("data.txt");
还有比这更好的方法吗?
谢谢你的时间=)
(是的,我在问之前已经搜索了答案。)
简单的创建一个文件流,不指定不告诉打开哪个文件。
fstream file;
file.open("data.txt");
然后用.fail()
检查是否FAILED打开文件
if (fileStream.fail())
{
ofstream file("data.txt");
}
file.open("data.txt");
然后再打开。 fstream (Filestream) 只是 iostream 的子级,不需要初始化,可以声明你可以阅读更多关于它的信息 here
这也是 c 和 POSIX - 也许它很有趣,因为它可以快速方便地检查文件是否存在。
#include <unistd.h>
if(access(filename, F_OK ) == 1) // file exists
...
我正在尝试制作一个程序来检查文件是否存在,否则它会创建并打开它。这是我尝试做的:
fstream file("data.txt");
if (!file.is_open())
{
ofstream file("data.txt");
file.close();
}
fstream file("data.txt");
程序尝试打开 data.txt 文件,如果它不存在,它会创建它,但它是本地的,所以我必须在 main 函数中关闭并打开它。如果文件已经存在,我会收到多实例错误。 我尝试在打开文件之前关闭它,但它仍然给我同样的错误。代码:
fstream file("data.txt");
if (!file.is_open())
{
ofstream file("data.txt");
file.close();
}
file.close();
fstream file("data.txt");
还有比这更好的方法吗? 谢谢你的时间=) (是的,我在问之前已经搜索了答案。)
简单的创建一个文件流,不指定不告诉打开哪个文件。
fstream file;
file.open("data.txt");
然后用.fail()
检查是否FAILED打开文件
if (fileStream.fail())
{
ofstream file("data.txt");
}
file.open("data.txt");
然后再打开。 fstream (Filestream) 只是 iostream 的子级,不需要初始化,可以声明你可以阅读更多关于它的信息 here
这也是 c 和 POSIX - 也许它很有趣,因为它可以快速方便地检查文件是否存在。
#include <unistd.h>
if(access(filename, F_OK ) == 1) // file exists
...