C++ - 判断文件夹(folder)是否存在(exist)
来源:互联网 发布:java程序的执行过程 编辑:程序博客网 时间:2024/05/16 08:12
判断文件夹(folder)是否存在(exit)
本文地址: http://blog.csdn.net/caroline_wendy/article/details/21734915
写入程序, 需要在文件夹中写入数据, 如果文件夹不存在, 则无法写入, 在程序入口需要判断;
由于属于系统层, Windows的两种解决方法.
参考: http://stackoverflow.com/questions/8233842/how-to-check-if-directory-exist-using-c-and-winapi
1. GetFileAttributesA()函数
DWORD d = GetFileAttributesA(const char* filename); #include <windows.h>windows系统函数, 判断文件夹是否存在;
代码:
#include <iostream>#include <string>#include <windows.h>using namespace std;bool dirExists(const std::string& dirName_in){DWORD ftyp = GetFileAttributesA(dirName_in.c_str());if (ftyp == INVALID_FILE_ATTRIBUTES)return false; //something is wrong with your path!if (ftyp & FILE_ATTRIBUTE_DIRECTORY)return true; // this is a directory!return false; // this is not a directory!}int main(void) {std::string folder("./Test");if (dirExists(folder)) {std::cout << "Folder : " << folder << " exist!" << std::endl;} else {std::cout << "Folder : " << folder << " doesn't exist!" << std::endl;}std::string nofolder("./TestNo");if (dirExists(nofolder)) {std::cout << "Folder : " << nofolder << " exist!" << std::endl;} else {std::cout << "Folder : " << nofolder << " doesn't exist!" << std::endl;}return 0;}
2. _access()函数
int access(const char *filename, int mode); #include <io.h>
mode设为0, 判断文件是否存在; 返回0, 文件存在;
代码:
#include <iostream>#include <string>#include <io.h>using namespace std;bool dirExists(const std::string& dirName_in){int ftyp = _access(dirName_in.c_str(), 0);if (0 == ftyp)return true; // this is a directory!else return false; // this is not a directory!}int main(void) {std::string folder("./Test");if (dirExists(folder)) {std::cout << "Folder : " << folder << " exist!" << std::endl;} else {std::cout << "Folder : " << folder << " doesn't exist!" << std::endl;}std::string nofolder("./TestNo");if (dirExists(nofolder)) {std::cout << "Folder : " << nofolder << " exist!" << std::endl;} else {std::cout << "Folder : " << nofolder << " doesn't exist!" << std::endl;}return 0;}
3 0
- C++ - 判断文件夹(folder)是否存在(exist)
- c 判断文件夹是否存在,创建文件夹
- C/C++判断文件/文件夹是否存在
- c#---判断文件或者文件夹是否存在
- C/C++判断文件/文件夹是否存在
- C/C++判断文件/文件夹是否存在
- C/C++判断文件文件夹是否存在
- 判断文件夹是否存在
- 判断文件夹是否存在
- 判断文件夹是否存在
- c++/c新建文件夹 及判断文件夹是否存在
- c++ 判断文件夹是否存在
- c++ 判断文件夹是否存在
- 判断指定文件夹是否存在
- 判断文件,文件夹是否存在
- vc判断文件夹是否存在
- C++判断文件夹是否存在
- 批处理判断文件夹是否存在
- Codeforces Round #133 (Div. 2) B. Forming Teams(并查集)
- 读jQuery之一(对象的组成)
- hadoop笔记一
- 零值比较--BOOL,int,float,指针变量与零值比较的if语句
- uva 11986
- C++ - 判断文件夹(folder)是否存在(exist)
- 08765700
- The Monocycle
- c++ 字面值常量
- 第一天
- Xcode快捷键
- Android学习笔记
- 我想说今天不是很美妙
- 我最爱《魔鬼中的天使》