C语言判断文件或者路径(相对/绝对)是否存在(VS2019)
stat函数可以用来判断路径(相对/绝对路径)和文件是否存在。以及分辨出为路径还是文件。
代码如下:
#include <stdio.h>
#include <sys/stat.h>
struct stat s;
int main()
{
//if (stat("..\\Debug\\Test.exe", &s) == 0)
if (stat("..\\Debug", &s) == 0)
{
if (s.st_mode & S_IFDIR)
{
printf("这是一个目录\r\n");
}
else if (s.st_mode & S_IFREG)
{
printf("这是一个文件\r\n");
}
else
{
printf("非文件非目录\r\n");
}
}
else
{
printf("错误,不存在\r\n");
}
return 0;
}
access函数可以用来判断路径(相对/绝对路径)和文件是否存在。
代码如下:
#include <io.h>
#include <stdio.h>
#define R_OK 4 /* 读取权限 */
#define W_OK 2 /* 写入权限 */
#define X_OK 1 /* 执行权限 */
#define F_OK 0 /* 是否存在 */
//access:支持F_OK(文件是否存在),R_OK(是否可读),W_OK和X_OK...成功时返回0,失败返回-1
int main()
{
if (0 == access("H:\\【正点原子】\\I.MX6U嵌入式Qt开发指南.pdf", F_OK))
{
printf("文件/文件夹存在。\r\n");
}
else
{
printf("文件/文件夹不存在。\r\n");
}
return 0;
}
百度百科:access (C语言函数名)