| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Что делать, если хочется временного файла? |
| Автор: Chaos A.D. 26.2.2005, 17:02 |
| Что делать, если хочется временного файла? Под винду можно просто поюзать функцию из API, которая создает временный файл с _уникальным_ именем, и вернет его дескриптор. Мне нужен аналог из линукса, ну или просто что-нибудь, что служило бы гарантом уникальности имени временного файла. А иначе можно переписать какой-нибудь юзерский файл, что не очень хорошо. Как удалить переименовать любой файл? Вообще, где можно почитать про API линукса? |
| Автор: Ni@m 26.2.2005, 17:12 |
| Помоему функции ядра такой нету. Но есть в стандартной библиотеке с++ такие функции как tempnam, tmpnam, tmpfile. Можете поискать в man. |
| Автор: oleg1973 26.2.2005, 22:53 |
| а что не сутьба в текущей директории создать файл ? и дать ему имя типа ass.exe такого в линюхе точно нет |
| Автор: Chuck 27.2.2005, 10:03 |
| Или в /tmp содать файл, имя которого содержит время в секундах от начала эпохи *никсов! Типа 10432484533.tmp |
| Автор: dargaard 28.2.2005, 00:27 | ||
А если у тебя 2 потока/проги которые раобтают/которым нужен фаил в одну и туже секунду? Если делать руками то лучше по pid создавать фаилы. Хотя лучше всего использовать уже готовые ф-ции как было указано выше. |
| Автор: maxim1000 28.2.2005, 11:54 |
| генерируем имя, проверяем наличие такого файла если уже есть, генерируем другое имя и т.д.... |
| Автор: Ni@m 28.2.2005, 17:37 |
| Весь прикол временного файла в том, что он должен удалиться после завершения проги. Я думаю, что самому за этим следить - дело дурное |