使用unlink特性保证,系统崩溃时临时文件不占用系统空间
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <time.h>
int main(int argc, char *argv[])
{
char *psFileName = "/xxx/yyy.tmp";
int nfd = open(psFileName, O_CREAT | O_RDWR);
unlink(psFileName);
int k = 0;
char buffer[1024] = { 0 };
while(k++ < 3)
{
snprintf(buffer, 1024, "test : %lu\r\n", time(NULL));
int n = write(nfd, buffer, strlen(buffer));
printf("write len %d\r\n", n);
sleep(1);
}
lseek(nfd, SEEK_SET, 0);
char rbuffer[1024] = { 0 };
read(nfd, rbuffer, 1024);
printf("read:[%s]\r\n", rbuffer);
printf("waiting for exit...\r\n");
sleep(60);
close(nfd);
return 0;
}