Создание временной папки в папке tmp на OS X - PullRequest
0 голосов
/ 10 июня 2010

Как мне создать временную папку в папке tmp, используя язык C ++.

У меня есть 3 тома. Leopard, Development и 10.6 (в Mac OS X), и я хочу создать временный каталог в текущем домашнем каталоге.

Вот мой код. Я запутался в этой строке char* tempdir = "/Volumes/Development/NewFolder.XXXXXX":

if (!mkdtemp(tempdir)) 

   fprintf(stderr, "Not able to create directory"); 

Ответы [ 3 ]

4 голосов
/ 10 июня 2010

В POSIX вы можете использовать mkdtemp для создания каталога с уникальным именем.В Windows используйте GetTempPath, чтобы получить имя временного каталога, затем создайте каталог со случайным именем.

4 голосов
/ 10 июня 2010

Вы можете использовать функцию boost :: Filesystem : create_directory( "temp" );

. Это очень переносимо и будет работать в большинстве операционных систем.

Boost можно скачать здесь.

0 голосов
/ 10 июня 2010

Boost - отличный выбор, но одна из проблем с boost заключается в том, что вы, вероятно, скачаете огромное количество источников - если все, что вам нужно, это функциональность файловой системы, то это немного излишне.Попробуйте http://stlplus.sourceforge.net/stlplus3/docs/file_system.html

Кроме того, почему бы вам просто не воспользоваться старой доброй функцией system ()?Строковый аргумент для системы, конечно, будет зависеть от платформы.

Арпан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...