在linux C中,unlink() 可以删除一个文件,该函数的定义在 unistd.h 头文件里,下面看一下使用方法:
// main.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(void) {
int fd;
char *fname= "a.txt";
if ((fd = creat(fname, 0600)) == -1) {
printf("creat file failed!\n");
exit(1);
}
char command[128];
sprintf(command, "ls -l %s", fname);
printf("creat %s successfully, ls -l %s:\n", fname, fname);
system(command);
printf("press any key to delete %s: ", fname);
getchar();
unlink(fname);
printf("after delete %s, ls -l %s:\n", fname, fname);
system(command);
return 0;
}
效果测试:
$ gcc main.c -o main
$ ./main
creat a.txt successfully, ls -l a.txt:
-rw------- 1 zhoumin zhoumin 0 12月 16 11:59 a.txt
press any key to delete a.txt: a
after delete a.txt, ls -l a.txt:
ls: 无法访问a.txt: 没有那个文件或目录