char temp_file_name[] = "/tmp/temp_file.XXXXXX";//只能用数组,不能写成char *temp_file_name = "..."
int fd = mkstemp(temp_file_name);//创建新的临时文件
unlink(temp_file_name);//unlink()会删除参数pathname 指定的文件. 如果该文件名为最后连接点, 但有其他进程打开了此文件, 则在所有关于此文件的文件描述词皆关闭后才会删除. 如果参数pathname 为一符号连接, 则此连接会被删除。
write(fd,&length,sizeof(length)); write(fd,buffer,sizeof(buffer));
lseek(fd,0,SEEK_SET);//开始读取临时文件中的数据
read(fd,&length,sizeof(length));
cout<<length<<endl;
buffer = (char*)malloc(length);
read(fd,buffer,length);//读取临时文件中的数据
close(fd);//close后该临时文件自动被杉树
return buffer;