函數使用如下:
void tempFileDeal()
{
int fd = 0;
char buf[128] = "temp-XXXXXX";
if((fd = mkstemp(buf)) < 0)
{
perror("mkstemp");
return ;
}
close(fd);
remove(buf);
}
注意點:
1.注意mktemp的使用的返回值是一個打開的fd,如果這個fd不接收,那麼就不會關閉,當打開的零時文件太多,那麼就會使得系統的句柄數太多,系統將無法再次打開新的fd,系統崩潰;
2.mkstemp函數的傳入buf如上訴代碼所示,但是函數執行完成後buf中的數據會變爲文件路徑,所以需要刪除文件的話,可以直接remove();