程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++:判斷文件夾(folder)是否存在(exist)

C++:判斷文件夾(folder)是否存在(exist)

編輯:關於C++

寫入程序, 需要在文件夾中寫入數據, 如果文件夾不存在, 則無法寫入, 在程序入口需要判斷;

由於屬於系統層, 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;  
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved