本文目錄一覽:
C語言,判斷一個文件是否存在
你貼的這個函數PathFileExists並不是C語言提供的庫函數,而是windows系統提供的系統調用,如果你是初學者,盡量用C語言提供的庫函數來實現功能,你可以這樣:
int exist(char *file) //傳入想要判斷的路徑字符串指針
{
FILE *fp;
fp=fopen(file,”r”); //fopen是一個C庫函數,用於打開文件,”r”是只讀模式,在這種模式下,如果文件存在,則能成功以只讀模式打開,fopen返回一個非0的文件描述符,如果文件不存在,則fopen返回NULL(NULL意思是空)。正好可以利用這一點來判斷文件是否存在
if(fp=NULL)
return 0; //不存在返回0
else
{
fclose(fp); //存在的話,要先把之前打開的文件關掉
return 1; //然後返回1
}
}
這樣,你就可用這裡定義的exist函數判斷文件是否存在了。比如
if(exist(“a.txt”)==0)printf(“不存在!”);
else printf(“存在!”);
如果你真想用PathFileExists這個函數,那麼也很簡單,LPCTSTR你可以簡單理解為就相當於char*,這是windows封裝的一個數據類型。_in是一個修飾符,表示參數是傳入給PathFileExists用的而不是由PathFileExists傳出來的。這個函數可以這樣用:
if(PathFileExists(“a.txt”)==FALSE)printf(“不存在!”);
else printf(“存在!”);
用這個函數時注意加頭文件windows.h
有問題請繼續追問啊
用純C語言怎麼判斷某個文件是否存在
如果你知道文件名和路徑的話; 直接用 fopen 是C的標準庫函數。 參數為FILE * fopen(const char * path,const char * mode); 路徑為完整路徑, mode 為打開方式, 是只讀方式打開,還是讀寫方式打開這些。
如果你只知道文件名, 不知道路徑, 我猜你想要個類似於windows 裡面的 搜索的。。。 這個說來話長了。。
再或者, 你知道路徑, 不知道文件名?
那個, 要用系統的API 來干這個事情了。不用系統級的高級函數, 搞不定了。因為這個是整個文件系統的事情了。。
C語言 檢查文件是否存在
C語言中access函數功能:確定文件或文件夾的訪問權限。即,檢查某個文件的存取方式,比如說是只讀方式、只寫方式等。如果指定的存取方式有效,則函數返回0,否則函數返回-1。用法: int access(const char *filenpath, int mode); 或者int _access(const char *path, int mode );參數說明:filenpath文件或文件夾的路徑,當前目錄直接使用文件或文件夾名備註:當該參數為文件的時候,access函數能使用mode參數所有的值,當該參數為文件夾的時候,access函數值能判斷文件夾是否存在。在WINNT 中,所有的文件夾都有讀和寫權限mode要判斷的模式#defineR_OK 4#defineW_OK 2#defineX_OK 1#defineF_OK 0具體含義如下:R_OK只判斷是否有讀權限W_OK只判斷是否有寫權限X_OK判斷是否有執行權限F_OK只判斷是否存在
怎樣讓c語言判斷文件是否存在
FILE * fp;
fp=fopen(“h:\\abc\\x.txt”,”r”);
if(fp==NULL)
{
//不存在
}
else
{
fclose(fp);
}
可以把上述代碼封裝成一個函數。
其實也可以考慮用Windows api 來進行判斷
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/277474.html