使用文件指针判断文件是否存在
在C语言中,可以使用文件指针来判断一个文件是否存在。首先,我们需要使用标准库函数fopen()打开文件,并将返回的文件指针保存在一个变量中。如果文件存在,fopen()函数会返回一个非空指针;如果文件不存在,fopen()函数则会返回一个空指针。
下面是一个简单的代码示例:
#include<stdio.h>
int main() {
FILE *file;
file = fopen("example.txt", "r");
if(file == NULL) {
printf("文件不存在。\n");
} else {
printf("文件存在。\n");
}
fclose(file);
return 0;
}
上述代码中,我们尝试打开名为example.txt的文件。如果文件存在,会输出"文件存在。";如果文件不存在,则会输出"文件不存在。"
使用access()函数判断文件是否存在
C语言还提供了一个名为access()的函数,可以用来判断文件是否存在。该函数位于头文件unistd.h中,其原型如下:
int access(const char *path, int mode);
其中,参数path为文件路径,mode为操作模式。如果文件存在并且具有指定的权限,access()函数将返回0;否则,将返回-1。
下面是一个示例:
#include<stdio.h>
#include<unistd.h>
int main() {
if(access("example.txt", F_OK) != -1) {
printf("文件存在。\n");
} else {
printf("文件不存在。\n");
}
return 0;
}
上述代码中,我们使用access()函数来判断文件是否存在。如果文件存在,会输出"文件存在。";如果文件不存在,则会输出"文件不存在。"
使用stat()函数判断文件是否存在
另一种判断文件是否存在的方法是使用stat()函数。该函数位于头文件sys/stat.h中,其原型如下:
int stat(const char *path, struct stat *buf);
参数path为文件路径,buf为一个指向结构体的指针,用于存储文件的相关信息。如果文件存在,stat()函数将返回0;否则,将返回-1。
下面是一个示例:
#include<stdio.h>
#include<sys/stat.h>
int main() {
struct stat st;
if(stat("example.txt", &st) == 0) {
printf("文件存在。\n");
} else {
printf("文件不存在。\n");
}
return 0;
}
上述代码中,我们使用stat()函数来判断文件是否存在。如果文件存在,会输出"文件存在。";如果文件不存在,则会输出"文件不存在。"
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/cyyo5v.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!