linuxc mkstemp函數使用和注意事項

函數使用如下:

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();

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章