Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Аналог GetTempFileName()


Автор: alex2011 24.1.2011, 23:45
Hi All.

Есть ли в gcc аналог виндувсовой GetTempFileName, которая делает следующее:

Цитата

GetTempFileName Function
Creates a name for a temporary file. If a unique file name is generated, an empty file is created and the handle to it is released; otherwise, only a file name is generated.

UINT WINAPI GetTempFileName(
  __in          LPCTSTR lpPathName,
  __in          LPCTSTR lpPrefixString,
  __in          UINT uUnique,
  __out         LPTSTR lpTempFileName
);


И вообще, как в Linux обстоят дела с временными файлами? Получается, нужен бы какой-то служебный каталог, куда у пользователя всегда есть доступ, и запись туда хорошо кэшируется системой. Есть ли такое, и где почитать?
Вот тут 
http://ru.wikipedia.org/wiki/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%84%D0%B0%D0%B9%D0%BB 
это дело вроде бы красиво описано, но только папку ~/tmp я вообще не нашёл. А в /tmp файл создал, а удалить не смог. Понятно, что можно руками создать любой каталог и накрутить там любые права доступа, но в Windows ведь каждому юзеру выделен такой каталог изначально. Нет ли и тут такого? Иначе с компа на комп неудобно прогу переносить (надо писать в инструкции - создайте каталог такой-то, дайте права такие-то и пр.)  А файлы-то просто временный мусор, слишком много чести для них...

Автор: boostcoder 25.1.2011, 00:04
man 3 tmpfile
man 3 mkstemp
man 3 mktemp
man 3 tempnam
man 3 tmpnam


для временных файлов есть /tmp

Автор: JackYF 31.1.2011, 23:13
Цитата(alex2011 @  24.1.2011,  22:45 Найти цитируемый пост)
Есть ли в gcc


В libc, ты хотел сказать. Компилятор ни при чём.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)