C语言判断文件是否存在
时间: 2023-10-27 19:07:22 浏览: 78
你可以使用C语言中的access函数来判断文件是否存在。access函数的原型如下:
```c
int access(const char *pathname, int mode);
```
在mode参数中,你需要传入F_OK,表示你只需要判断文件是否存在,而不需要对文件进行其它操作。如果函数返回值为0,则表示文件存在,如果返回值为-1,则表示文件不存在。
下面是一个简单的C语言代码示例:
```c
#include <stdio.h>
#include <unistd.h>
int main()
{
if (access("example.txt", F_OK) == 0)
{
printf("文件存在\n");
}
else
{
printf("文件不存在\n");
}
return 0;
}
```
相关问题
c语言判断文件是否存在
在C语言中,可以使用`access`函数来检查文件是否存在。`access`函数是一个系统调用函数,用于检查文件是否具有指定的权限以及文件是否存在。下面是一个示例代码:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
char *filename = "test.txt";
if(access(filename, F_OK) != -1) {
printf("%s exists.\n", filename);
} else {
printf("%s does not exist.\n", filename);
}
return 0;
}
```
上面的代码通过调用`access`函数来检查文件`test.txt`是否存在,如果文件存在,则输出`test.txt exists.`;如果文件不存在,则输出`test.txt does not exist.`。其中,`F_OK`是一个常量,表示检查文件是否存在。如果需要检查文件的读取权限,可以使用`R_OK`常量;如果需要检查文件的写入权限,可以使用`W_OK`常量。
LINUX C语言 判断文件是否存在
在Linux系统中,可以使用access函数来判断文件是否存在。access函数的头文件为`<unistd.h>`,函数的原型为:
```c
int access(const char *pathname, int mode);
```
其中,`pathname`表示要判断的文件路径,`mode`表示要执行的操作。如果文件存在,则返回0;如果文件不存在,则返回-1,并且设置`errno`为`ENOENT`。
示例代码如下:
```c
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
int main()
{
char *filename = "test.txt";
if (access(filename, F_OK) == 0)
printf("%s exists\n", filename);
else
{
if (errno == ENOENT)
printf("%s does not exist\n", filename);
else
printf("Error: %s\n", strerror(errno));
}
return 0;
}
```
在上述示例代码中,`access(filename, F_OK)`表示判断文件是否存在,`F_OK`表示要执行的操作。如果文件存在,则输出`test.txt exists`,否则根据`errno`的值输出相应的错误信息。