c语言判断手机里的文件是否存在,c#判断文件是否存在

发布时间:2022-11-28

本文目录一览:

  1. C语言,判断一个文件是否存在
  2. 用纯C语言怎么判断某个文件是否存在
  3. C语言 检查文件是否存在
  4. 怎样让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。 有问题请继续追问啊

用纯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函数值能判断文件夹是否存在。在WIN NT中,所有的文件夹都有读和写权限。 mode要判断的模式:
#define R_OK 4
#define W_OK 2
#define X_OK 1
#define F_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来进行判断。