C语言,判断一个文件是否存在

C盘根目录下存在一个1.txt.bak这样的一个备份文档,现在要去检测它是否存在,存在则返回true。PathFileExists(__inLPCTSTRpszPath)... C盘根目录下存在一个1.txt.bak 这样的一个备份文档, 现在要去检测它是否存在,存在则返回true。 PathFileExists ( __in LPCTSTR pszPath ); 这个函数不懂,我是C语言初学者,麻烦尽量讲简单一点 展开
 我来答
mat97
推荐于2017-09-06 · TA获得超过944个赞
知道小有建树答主
回答量:251
采纳率:100%
帮助的人:371万
展开全部
你贴的这个函数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>

有问题请继续追问啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式