當前位置:首頁 » 編程語言 » c語言如何判斷文件存在
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言如何判斷文件存在

發布時間: 2023-03-23 16:23:13

1. 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>

有問題請繼續追問啊

2. 用純C語言怎麼判斷某個文件是否存在

如果你知道文件名和路徑的話; 直接用 fopen 是C的標准庫函數。 參數為FILE * fopen(const char * path,const char * mode); 路徑為完整路徑, mode 為打開方式, 是只讀方式打開,還是讀寫方式打開這些。

如果你只知道文件名, 不知道路徑, 我猜你想要個類似於windows 裡面的 搜索的。。。 這個說來話長了。。

再或者, 你知道路徑, 不知道文件名?
那個, 要用系統的API 來干這個事情了。不用系統級的高級函數, 搞不定了。因為這個是整個文件系統的事情了。。

3. c語言怎麼查找制定目錄下的文件是否存在

C語言中用OPEN函數就可以判斷出指定目錄下的文件是否存在。
比如:
#include<stdio.h>
main()
{
FILE *fp;
if((fp=fopen("c:\\filechk.txt","r"))==NULL)printf("this file is not exist";//文件不存在
else
printf("Open sucess");
close(fp);
}