C++判断文件是否存在

一、使用std::ifstream判断文件是否存在

在C++中,使用std::ifstream可以方便地判断文件是否存在。下面是一个示例代码:

#include <iostream>
#include <fstream>
#include <string>

int main()
{
    std::string filename = "test.txt";
    std::ifstream file(filename);
    if (file.good())
    {
        std::cout << "File exists." << std::endl;
    }
    else
    {
        std::cout << "File does not exist." << std::endl;
    }
    return 0;
}

上述代码首先使用std::ifstream打开文件,然后使用good()函数判断文件是否存在。如果文件存在,good()函数会返回true,否则返回false

二、使用fopen函数判断文件是否存在

除了使用std::ifstream,还可以使用C标准库函数fopen来判断文件是否存在。下面是一个示例代码:

#include <stdio.h>
#include <string.h>

int main()
{
    char filename[] = "test.txt";
    FILE *file = fopen(filename, "r");
    if (file != NULL)
    {
        fclose(file);
        printf("File exists.\n");
    }
    else
    {
        printf("File does not exist.\n");
    }
    return 0;
}

上述代码使用fopen函数打开文件,模式为”r”,如果文件存在,fopen函数会返回一个非空指针,否则返回NULL

三、使用_access函数判断文件是否存在

Windows系统下,还可以使用_access函数来判断文件是否存在。下面是一个示例代码:

#include <io.h>
#include <string.h>

int main()
{
    char filename[] = "test.txt";
    if (_access(filename, 0) == 0)
    {
        printf("File exists.\n");
    }
    else
    {
        printf("File does not exist.\n");
    }
    return 0;
}

上述代码使用_access函数来判断文件是否存在,如果文件存在,_access函数会返回0,否则返回-1

四、使用Boost库判断文件是否存在

使用Boost库也可以方便地判断文件是否存在。下面是一个示例代码:

#include <boost/filesystem.hpp>

int main()
{
    boost::filesystem::path filename("test.txt");
    if (boost::filesystem::exists(filename))
    {
        std::cout << "File exists." << std::endl;
    }
    else
    {
        std::cout << "File does not exist." << std::endl;
    }
    return 0;
}

上述代码使用Boost库中的boost::filesystem::exists函数来判断文件是否存在。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/195487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-02 20:35
下一篇 2024-12-02 20:35

相关推荐

发表回复

登录后才能评论