char * tmpnam(char *ptr);
FILE *tmpfile(void);
L_tmpnam 为传递给ptr的数组的最小长度。
一、源代码
1 #include "apue.h"
2 #define MAXLINE 1024
3 int main()
4 {
5 char name[L_tmpnam];
6 char line[MAXLINE];
7 FILE *fp;
8 printf("The first tmp file: %s\n",tmpnam(NULL));
9 tmpnam(name);
10 printf("The second tmp file: %s\n",name);
11
12 if ((fp = tmpfile()) == NULL)
13 err_sys("tmpfile error");
14 fputs("Hello Roronoa Zoro",fp);
15 rewind(fp);
16 if (fgets(line,sizeof(line),fp) == NULL)
17 err_sys("fgets error");
18 fputs(line,stdout);
19 exit (0);
20 }
二、运行结果:
<bldc:/home/tingbinz/apue.3e/SBSCODE/5>R*_*G:./create_tmpfile
The first tmp file: /var/tmp/aaa81aipY
The second tmp file: /var/tmp/baa91aipY
Hello Roronoa Zoro<bldc:/home/tingbinz/apue.3e/SBSCODE/5>R*_*G:ll /var/tmp/aaa81aipY
/var/tmp/aaa81aipY: No such file or directory
<bldc:/home/tingbinz/apue.3e/SBSCODE/5>R*_*G: