如何在C ++中创build一个临时目录?

我正在用C ++编写一个函数来创build一个临时目录。 这样的function应该尽可能便携,例如它应该在linux,mac和win32环境下工作。 我如何做到这一点?

Solutions Collecting From Web of "如何在C ++中创build一个临时目录?"

Boost文件系统库的第3版提供函数unique_path()来生成适合于创建临时文件或目录的路径名。

 using namespace boost::filesystem; path ph = unique_path(); create_directories(ph); 

在这里检查mkdtemp函数。

Boost的文件系统库提供了独立于平台的目录功能。 它会增加你的程序大小,但是使用Boost通常比自己的更好(通常更容易)。

http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/index.htm

没有标准的功能来执行此操作,因此您需要针对每个目标平台编译不同的实现。

在Windows上,例如,您应该使用temp目录,可以通过调用GetTempPath()来获取该目录。

mkdtemp(char *template)

http://www.cl.cam.ac.uk/cgi-bin/manpage?3+mkdtemp

创建一个临时目录。