mktemp.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 34 行

C
34
字号
#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <stdio.h>char*mktemp(char *template){	int n;	long x;	char *p;	int c;	struct stat stbuf;	n = strlen(template);	p = template+n-6;	if (n < 6 || strcmp(p, "XXXXXX") != 0) {		*template = 0;	} else {		x = getpid() % 100000;		sprintf(p, "%05d", x);		p += 5;		for(c = 'a'; c <= 'z'; c++) {			*p = c;			if (stat(template, &stbuf) < 0)				return template;		}		*template = 0;	}	return template;}

⌨️ 快捷键说明

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