导航:首页 > 文件管理 > c如何判断一个文件是否存在

c如何判断一个文件是否存在

发布时间:2025-02-04 11:25:54

A. C语言判断指定文件是否存在

头文件:.h
功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );
参数说明:
filenpath
文件或文件夹的路径,当前目录直接使用文件或文件夹名
备注:当该参数为文件的时候,access函数能使用mode参数所有的值,当该参数为文件夹的时候,access函数值能判断文件夹是否存在。在WIN NT 中,所有的文件夹都有读和写权限
mode
要判断的模式
在头文件unistd.h中的预定义如下:
#define R_OK 4 /* Test for read permission. */
#define W_OK 2 /* Test for write permission. */
#define X_OK 1 /* Test for execute permission. */
#define F_OK 0 /* Test for existence. */
具体含义如下:
00 只判断是否存在
02 只判断是否有写权限
04 只判断是否有读权限
06 判断是否有读并且有写权限
程序
#include<stdio.h>
#include<io.h>
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ?"YES":"NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}

头文件:io.h
功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );
参数说明:
filenpath
文件或文件夹的路径,当前目录直接使用文件或文件夹名
备注:当该参数为文件的时候,access函数能使用mode参数所有的值,当该参数为文件夹的时候,access函数值能判断文件夹是否存在。在WIN NT 中,所有的文件夹都有读和写权限
mode
要判断的模式
在头文件unistd.h中的预定义如下:
#define R_OK 4 /* Test for read permission. */
#define W_OK 2 /* Test for write permission. */
#define X_OK 1 /* Test for execute permission. */
#define F_OK 0 /* Test for existence. */
具体含义如下:
00 只判断是否存在
02 只判断是否有写权限
04 只判断是否有读权限
06 判断是否有读并且有写权限
程序例
#include<stdio.h>
#include<io.h>
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ?"YES":"NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}

B. 如何用C语言判断文件夹内是否有文件夹或文件

举例来说:FILE*fp=fopen("dict.txt","r");charbuf[1024];if(fp!=(FILE*)NULL){while(fgets(buf,sizeof(buf),fp))//从文件中读入一行字符串,保存在buf中,直到读完所有字符串{//处理读入的字符串buf}fclose(fp);}

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

有问题请继续追问啊

D. 在C++中如何判断文件夹是否存在,不存在的话创建文件夹

参考代码如下:
#include <stdio.h>
#include <direct.h>
#include <stdlib.h>
#include <memory>
//检查文件夹是否存在,不存在则创建之
//文件夹存在返回 0
//文件夹创建失败返回-1
//文件夹创建失败返回1
int CheckDir(char* Dir)
{
FILE *fp = NULL;
char TempDir[200];
memset(TempDir,'\0',sizeof(TempDir));
sprintf(TempDir,Dir);
strcat(TempDir,"\\");
strcat(TempDir,".temp.fortest");
fp = fopen(TempDir,"w");
if (!fp)
{
if(_mkdir(Dir)==0)
{
return 1;//文件夹创建成功
}
else
{
return -1;//can not make a dir;
}
}
else
{
fclose(fp);
}
return 0;
}

E. C/C++判断文件/文件夹是否存在

一、判断文件夹是否存在: 1.用CreateDirectory(".//FileManege",NULL);如果文件夹FileManege不存在,则创建。 2.或者if(_access(".//FileManege",0)==-1),表示FileManege不存在。 3.或者BOOL PathIsDirectory(LPCTSTR pszPath);二、判断文件是否存在: 1.用if((file=fopen(".//FileManege//F//F.dat","rb"))==NULL) file=fopen(".//FileManege//F//F.dat","ab+"); // 先判断有无文件,没的话新建一个 2.用if(_access(".//FileManege//F//F.dat",0)==-1),表示文件不存在。 函数int _access( const char *path, int mode );可以判断文件或者文件夹的mode属性 mode=00;//Existence only mode=02;//Write permission mode=04;//Read permission 需要包含头文件<io.h>。

F. c#中如何检测文件路径是否存在

stringpath=@"d:A.txt";
if(File.Exists(path))
{
Console.WriteLine("文件存在");
}

阅读全文

与c如何判断一个文件是否存在相关的资料

热点内容
电脑重装后找不到2k文件 浏览:524
有个文件消失了搜索也找不到 浏览:186
天下3升级75世界套 浏览:856
鹏博士数据港属于哪个板块 浏览:635
xp去除盗版工具 浏览:157
角度云计算和大数据哪个好 浏览:871
js制作35选7 浏览:621
雷腾鼠标找不到文件 浏览:357
兴趣爱好都有哪些app 浏览:589
让两个大脑文件共享的软件 浏览:806
机械手编程里的组合是什么意思 浏览:605
怎么删除不常用网络 浏览:972
java按钮连接另一个 浏览:91
京东app在哪里换e卡 浏览:592
微信公众号怎么上传文件 浏览:231
无水印app哪个好用 浏览:470
光盘刻录大师怎么刻录文件 浏览:186
关闭文件共享端口号 浏览:382
网站如何防止dns中间人 浏览:471
java图像处理 浏览:393

友情链接