c 判断文件是否存在
时间: 2023-08-08 13:09:36 浏览: 78
在 C 语言中,可以使用 `<stdio.h>` 头文件中的 `fopen()` 函数来判断文件是否存在。示例代码如下:
```c
#include <stdio.h>
int fileExists(const char* filename)
{
FILE* file = fopen(filename, "r");
if (file) {
fclose(file);
return 1; // 文件存在,返回1
} else {
return 0; // 文件不存在,返回0
}
}
```
其中,`fopen()` 函数以只读方式打开指定文件。如果成功打开文件,则返回一个非空的指针,表示文件存在;否则返回空指针,表示文件不存在。通过判断返回值是否为空指针,即可确定文件是否存在。注意,使用完文件后需要调用 `fclose()` 函数关闭文件。
相关问题
C语言判断文件是否存在
你可以使用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;
}
```
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`的值输出相应的错误信息。