#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
char str[] = "/home/wtz/Desktop/test.txt.XXXXXX";
int fd = mkstemp(str);
printf("%s\n", str);
write(fd, "456789", 6);
close(fd);
return 0;
}
注意mkstemp传入的必须是非常量字符串!
如果有什么疑问的,可以
man mkstemp
查看帮助,尾部比如为6个X。