cr_tmp_file.c

来自「sco unix下c语言开发工具库」· C语言 代码 · 共 51 行

C
51
字号
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <errno.h>
#include "all.h"

int create_tmp_file(char *fname)
{
struct	stat	t_stat;
char	filename[80];

	sprintf(filename, "%s/%s", getenv("WORKDIR"), fname);

	if ( stat(filename, &t_stat) == -1 ) {
		if (errno == ENOENT) {
			if (mkdir(filename, S_IREAD | S_IWRITE | S_IEXEC | S_IRGRP) < 0)
				return -1;
			return 0;
		}
		return -1;
	}

	if (S_ISDIR(t_stat.st_mode) == 0) {
		if (unlink(filename) < 0) 
			return -1;
		if (mkdir(filename, S_IREAD | S_IWRITE | S_IEXEC | S_IRGRP) < 0)
			return -1;
	}

	return 0;
}

int create_all_tmp_file()
{
char	t_file[30];

	/* CREATE $(WORKDIR)/log */
	sprintf(t_file, "/log");
	if (create_tmp_file(t_file) < 0 )
		return -1;

	/* CREATE $(WORKDIR)/log/nap.log */
	memset(t_file, '\0', sizeof(t_file));
	sprintf(t_file, "/log/nap.log");
	if (create_tmp_file(t_file) < 0 )
		return -1;

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?