c 判断文件是否存在_C++基础:判断文件是否存在的方法

本文介绍了使用C++通过四种不同的方法来判断文件是否存在:利用ifstream流、fopen函数、access函数以及stat函数。这些方法涵盖了从标准输入输出到系统调用的不同层面。

C++基础:判断文件是否存在的方法

使用以下几种函数判断文件是否存在

  1. #include <fstream> --> 使用ifstream打开文件流,成功则存在,失败则不存在;
  2. #include <stdio.h> --> 以fopen读方式打开文件,成功则存在,否则不存在;
  3. #include <unistd.h> --> 使用access函数获取文件状态,成功则存在,否则不存在
  4. #include <sys/stat.h> --> 使用stat函数获取文件状态,成功则存在,否则不存在
#include <sys/stat.h>
#include <unistd.h>
#include <fstream>
#include <string>
#include <iostream>

using namespace std;
bool isFileExists_ifstream(string& name) {
    ifstream f(name.c_str());
    return f.good();
}
bool isFileExists_fopen(string& name) {
    if (FILE *file = fopen(name.c_str(), "r")) {
        fclose(file);
        return true;
    } else {
        return false;
    }   
}
bool isFileExists_access(string& name) {
    return (access(name.c_str(), F_OK ) != -1 );
}
bool isFileExists_stat(string& name) {
  struct stat buffer;   
  return (stat(name.c_str(), &buffer) == 0); 
}

参考衔接2


若你对人工智能(CV/NLP)、C++/python编程、互联网就业及发展有兴趣,欢迎点赞关注和收藏。谢谢鼓励!!!

C++相关知识:

Anxjing.AI:C++ this_thread::sleep_for​zhuanlan.zhihu.com
78b5a4c254b76c7ff503791120074769.png
Anxjing.AI:C++ Lambda表达式​zhuanlan.zhihu.com
131b806422582399f5fbdae5f39fcf5f.png
Anxjing.AI:C++并发_condition_variable​zhuanlan.zhihu.com
2a6a6e0f532453c815e1c78772a3c704.png
Anxjing.AI:生产者-消费者模型​zhuanlan.zhihu.com
e907349dde291dadf7b0c4d2882d9519.png
Anxjing.AI:C++预处理指令​zhuanlan.zhihu.com
fcb8b181ec3446b5b1f842f8b834cff9.png
Anxjing.AI:C++工具:Cmake​zhuanlan.zhihu.com
4f81d6e790f5228d389405478ff59b07.png
Anxjing.AI:SSH 学习​zhuanlan.zhihu.com
1dd7cd40b836f3d7af610378821b9954.png
Anxjing.AI:记录C++阶段性学习一​zhuanlan.zhihu.com
872fa2678e5d101488071d5b43620d36.png
Anxjing.AI:DesignPatterns C++:单例模式​zhuanlan.zhihu.com
5f8bfd7a1b9997e03b52c6cb7dc384c6.png
Anxjing.AI:C++基础:map简析​zhuanlan.zhihu.com
9bad99f37986478c16f8061abbd4a733.png
Anxjing.AI:C++基础:memset函数简析​zhuanlan.zhihu.com
5e48604a3684963eaf65317e07c2acde.png
Anxjing.AI:C++基础:break&continue区别​zhuanlan.zhihu.com
5907e3fea8caff7e35b825bf1ef69f94.png
Anxjing.AI:C++基础:指针和引用的区别​zhuanlan.zhihu.com
35b303411d8db34f343aa6fe5beaca39.png
Anxjing.AI:C++中::和:, .和->的作用和区别?​zhuanlan.zhihu.com
27a74b24c85cf7d5ea77456c2c779e6e.png
Anxjing.AI:string中c_str()的使用方法和特性​zhuanlan.zhihu.com
9bad99f37986478c16f8061abbd4a733.png
Anxjing.AI:C ++ strcpy()和strncpy()函数​zhuanlan.zhihu.com
8426b875686ffbfae60e34abff8e8cba.png
Anxjing.AI:C++基础-关键字virtual​zhuanlan.zhihu.com
08415d77c3da10b3e31dbc50b2b4249d.png
Anxjing.AI:C++基础-函数重载​zhuanlan.zhihu.com
4ed76cf24561f1acb4ceaa4bd9f1153b.png
Anxjing.AI:C++基础-static​zhuanlan.zhihu.com
9739573a097fa039a60791503ea4f541.png
Anxjing.AI:C++基础:判断文件是否存在的方法​zhuanlan.zhihu.com
a0a506984a806422118224f05c512884.png
Anxjing.AI:C++基础-strstr查找子串​zhuanlan.zhihu.com
56be8ddb90bc0c6cce40e19ed2fa9d03.png
Anxjing.AI:C++基础:std::thread多线程​zhuanlan.zhihu.com
52092b68cb7c87677bffe48f562caf79.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值