_mktemp.c
来自「MINIX系统源码」· C语言 代码 · 共 35 行
C
35 行
/* mktemp - make a name for a temporary file */
#include <lib.h>
#define access _access
#define getpid _getpid
#define mktemp _mktemp
#include <unistd.h>
PUBLIC char *mktemp(template)
char *template;
{
register int k;
register char *p;
register pid_t pid;
pid = getpid(); /* get process id as semi-unique number */
p = template;
while (*p != 0) p++; /* find end of string */
/* Replace XXXXXX at end of template with a letter, then as many of the
* trailing digits of the pid as fit.
*/
while (*--p == 'X') {
*p = '0' + (pid % 10);
pid /= 10;
}
if (*++p != 0) {
for (k = 'a'; k <= 'z'; k++) {
*p = k;
if (access(template, F_OK) < 0) return(template);
}
}
return("/");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?