最近在工作中,需要獲取指定資料夾下的所有檔名,參考所查檔案,寫了個函式,在本地能成功。但編譯打版,在伺服器報錯。
最終除錯發現,在win10中,使用檔案遍歷函式_findnext會報0xc0000005錯誤
原因:
_findnext()第乙個引數」路徑控制代碼」,返回的型別為intptr_t(long long),如果定義為long,在win7中是沒有問題,但是在win10中就要改為long long或者intptr_t
static void getfiles(string path, vector& files)
//如果不是,加入列表
else
} while (_findnext(hfile, &fileinfo) == 0);
//_findclose函式結束查詢
方案一:修改引數型別 long ---> intptr_t
intptr_t hfile = 0;
方案二:採用boost庫函式
#include static void getfiles(string path, vector& files)}}
}
獲取資料夾下所有檔案
ming xi path r c users administrator.carlos pc desktop 國防專利局 all tables 繳費明細表 彙總的繳費明細表 繳費明細表.xlsx decode utf 8 def get file path file dir,file type xl...
c 獲取資料夾下所有檔案
用c 獲取指定資料夾下的所有檔案,包括子資料夾裡的檔案。void getallfiles string path,list allfiles,bool includesubdir else while findnext hfile,fileinfo 0 findclose hfile 函式引數解釋 ...
Windows CMD獲取資料夾下所有檔名的方法
要獲取目錄下目錄名稱的方法有兩個,如下 tree 顯示磁碟目錄結構命令 功能 顯示指定驅動器上所有目錄路徑和這些目錄下的所有檔名。格式 tree 碟符 目錄 f a 使用說明 tree d f c users username desktop directory list.txtdir命令引數說明如...