在C/C++中,判断某一文件或目录是否存在有多种方法,下面分别介绍两种常用的方法。
方法一:access()函数
通过使用access()函数可以检查文件或目录是否存在。access()函数通过测试是否能够访问指定的文件或目录来判断它是否存在。
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
int main()
{
if(access("test.txt", F_OK) == 0)
printf("文件存在\n");
else if(errno == ENOENT)
printf("文件不存在\n");
else
printf("访问错误\n");
return 0;
}
在上面的示例中,access()函数的第一个参数指定文件或目录的路径和名称,第二个参数指定了操作的类型(F_OK表示测试文件是否存在)。如果access()函数返回0,则表示文件或目录存在,否则返回-1,并且在errno中设置相应的错误代码。
方法二:stat()函数
通过使用stat()函数可以获取指定文件或目录的属性信息,如文件大小,创建时间等。如果该文件或目录不存在,则stat()函数将返回-1,可以通过判断errno的值来确定是否存在。
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
int main()
{
struct stat fileInfo;
if(stat("test.txt", &fileInfo) == 0)
printf("文件存在\n");
else if(errno == ENOENT)
printf("文件不存在\n");
else
printf("访问错误\n");
return 0;
}
在上面的示例中,stat()函数的第一个参数指定文件或目录的路径和名称,第二个参数是用来保存文件属性信息,如果返回0,则表示文件或目录存在,否则返回-1,并且在errno中设置相应的错误代码。
以上是两种常见的C/C++判断文件或目录是否存在的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C/C++中如何判断某一文件或目录是否存在 - Python技术站