- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - remove() 函数
C 库的 remove(const char *filename) 函数删除给定的文件名,使其不再可访问。
语法
以下是 C 库 remove() 函数的语法:
remove(const char *filename);
参数
此函数仅接受一个参数:
- filename: 指向一个字符串的指针,该字符串指定要删除的文件名。文件名可以包含相对路径或绝对路径。
返回值
如果文件成功删除,则函数返回 0。如果发生错误,则返回非零值。如果发生错误,则 errno 会设置为指示特定的错误代码,该代码可用于确定失败的原因。
常见错误代码
- ENOENT: 指定的文件名不存在。
- EACCES: 删除文件权限被拒绝。
- EPERM: 操作不被允许,例如尝试删除目录。
示例 1:成功删除文件
此示例创建一个名为 example1.txt 的文件,然后使用 remove 函数成功删除它。
以下是 C 库 remove() 函数的示例。
#include <stdio.h> int main() { const char *filename = "example1.txt"; // Create a file to be deleted FILE *file = fopen(filename, "w"); if (file) { fprintf(file, "This is a test file.\n"); fclose(file); } // Attempt to remove the file if (remove(filename) == 0) { printf("File %s successfully deleted.\n", filename); } else { perror("Error deleting file"); } return 0; }
输出
以上代码产生以下结果:
File example1.txt successfully deleted.
示例 2:在没有权限的情况下删除文件
此示例模拟尝试在没有必要权限的情况下删除文件,这将导致权限被拒绝错误。
#include <stdio.h> #include <errno.h> int main() { const char *filename = "protectedfile.txt"; // Create a file to be deleted FILE *file = fopen(filename, "w"); if (file) { fprintf(file, "This is a test file with restricted permissions.\n"); fclose(file); } // Simulate restricted permissions (actual permission setting code omitted for simplicity) // Attempt to remove the file if (remove(filename) == 0) { printf("File %s successfully deleted.\n", filename); } else { perror("Error deleting file"); } return 0; }
输出
执行以上代码后,我们得到以下结果:
Error deleting file: Permission denied
广告