一、使用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
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 