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

 

 

 

 

你可能感兴趣的:(linuxc,mkstemp)