C++文件操作——查找文件夹及文件是否存在的方法

来源:互联网 发布:java实现发短信功能 编辑:程序博客网 时间:2024/05/17 22:37

一、查找文件夹是否存在的方法

(1).采用PathIsDirectory函数进行判断

if (!PathIsDirectory(strLogPath)){CreateDirectory(strLogPath,0);}
(2)利用FindFirstFile函数进行判断

WIN32_FIND_DATA wfd;HANDLE hFind = FindFirstFile(strLogPath, &wfd);if ((hFind != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)){//exist}FindClose(hFind);
(3).在windows中可以使用_stat() 函数。

#include <sys/stat.h>struct _stat fileStat;if ( (_stat(pLogPath, &fileStat) == 0) && (fileStat.st_mode & _S_IFDIR) ){       bExist = true;}


二、查找文件是否存在的方法

(1).采用ifstream来创建文件输入流的时候,如果文件不存在,则流创建失败

#include <fstream>ifstream fin("test.txt");if (!fin){//not exist}
(2)采用File Open的方式

File* fh = fopen("test.txt","r");if(fh == NULL){       //not exist}
(3).采用_access函数判断

#include  <io.h>if( (_access( "test.txt", 0 )) != -1 ){printf( "File test.txt exists\n" );/* Check for write permission */if( (_access( "test.txt", 2 )) != -1 )printf( "File test.txt has write permission\n" );if( (_access( "test.txt", 4 )) != -1 )printf( "File test.txt has read permission\n" );if( (_access( "test.txt", 6 )) != -1 )printf( "File test.txt has read and write permission\n" );}else{printf("File test.txt does not exists\n");}

阅读全文
0 0
原创粉丝点击