MFC 如何判斷檔案路徑是否合法

2021-09-28 23:11:34 字數 1894 閱讀 1006

當從配置檔案中讀取路徑時,需要判斷檔案內的路徑名是否合法,如果不加以判斷,當你程式設計的軟體在其他電腦上開啟後,讀取的路徑不合法,程式執行就會出問題。

當從配置檔案中讀取出路徑後,可以呼叫getfileattributes()函式來獲取檔案的屬性,然後通過判斷檔案的屬性是否是「無效屬性」,是則認為是不合法路徑,不是則認為是合法路徑。

getfileattributes(__in lpctstr lpfilename)

引數

lpfilename檔案或目錄的名字,對於ansi版本,名字不能大於max_path(260)。

返回值

如果函式成功,返回值包含檔案或目錄的屬性(屬性列表見備註)。如果函式失敗,返回值是invalid_file_attributes

//獲取目錄/檔案的屬性

cstring strrecordpath;

strrecordpath =_t(

"c:\\users\\microsoft\\desktop\\");

pathattributes =

getfileattributes

(strrecordpath)

;//判斷路徑下檔案是否合法

if(pathattributes == invalid_file_attributes)

//若是無效屬性

使用者也可以通過其他返回值來判斷檔案/目錄的屬性。值意義

file_attribute_archive

right-aligned存檔檔案(或目錄)

file_attribute_compressed

壓縮檔案(或目錄)。用於檔案時:該檔案中所有的記錄都是經過壓縮的;用於目錄時:在該目錄下新建檔案或子目錄時會預設進行壓縮。

file_attribute_device

未使用,保留

file_attribute_directory

目錄

file_attribute_encrypted

加密檔案(或目錄)。用於檔案時:該檔案中所有的記錄都是經過加密的,包括讀寫操作;用於目錄時:在該目錄下新建檔案或子目錄時會預設進行加密。

file_attribute_hidden

隱藏檔案(或目錄)

file_attribute_normal

檔案(或目錄)正常

file_attribute_not_content_indexed

標示乙個檔案不可被內容索引服務索引

file_attribute_offline

離線檔案,該檔案中的內容無法直接使用

file_attribute_readonly

唯讀檔案(或目錄)

file_attribute_reparse_point

超連結或快捷方式

file_attribute_sparse_file

稀疏檔案

file_attribute_system

系統檔案(或目錄)

file_attribute_temporary

臨時檔案

file_attribute_virtual

系統檔案

判斷操作是否合法A

time limit 1 sec memory limit 128 mb submit 44 solved 14 submit status web board 假設以i和o分別表示進棧和出棧操作,棧的初態和終態均為空,進棧和出棧的操作序列可表示為僅由i和o組成的序列。順序棧的定義為 typedef...

判斷輸入是否合法

一 判斷輸入是否為數字 通常使用方法1和3,方法2和4無法保證一定能判斷正確。1 函式isdigit 表頭檔案 include 定義函式 int isdigit char c 函式說明 檢查引數c是否為阿拉伯數字0到9。返回值若引數c為阿拉伯數字,則返回true,否則返回null 0 2 當使用ci...

MFC如何開啟檔案路徑

m filedir szfolder 選擇的資料夾路徑 2.查詢路徑下的檔案 cfilefind finder cstring strwildcard m filedir 將傳入的引數賦於變數 strwildcard strwildcard t 構造檔案的全路徑,類似於 c aa bool bwor...