Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

TMPNAM(3S)

НАЗВАНИЕ
tmpnam, tempnam - создание имен временных файлов

СИНТАКСИС

	#include <stdio.h>
	
	char *tmpnam (s)
	char *s;
	
	char *tempnam (dir, pfx)
	char *dir, *pfx;

ОПИСАНИЕ
С помощью этих функций создаются имена, которые можно без опасений использовать для именования временных файлов.

Функция tmpnam всегда образует имя файла, используя маршрутный префикс, определяемый константой P_tmpdir во включаемом файле <stdio.h>. Если указатель s пустой (равен NULL), то функция помещает результат во внутреннюю статическую область и возвращает адрес этой области. При следующем вызове tmpnam содержимое статической области изменится. Если s не равно NULL, то его значение рассматривается как адрес массива длины не менее L_tmpnam байт, где L_tmpnam - константа, определенная в <stdio.h>; функция помещает результат в этот массив и возвращает s.

Функция tempnam дает пользователю возможность выбирать каталог. Аргумент dir указывает на имя каталога, в котором нужно создать файл. Если dir равен NULL или ссылается на цепочку символов, не являющуюся именем подходящего каталога, то имя строится с использованием константы P_tmpdir. Если и этот каталог недоступен, в качестве последнего шанса будет использован /tmp. Указанная последовательность действий игнорируется, если определена переменная окружения TMPDIR; именно ее значение задает имя каталога временных файлов.

Во многих случаях предпочтительны имена файлов, начинающиеся определенной последовательностью символов. Для создания таких имен предусмотрен аргумент pfx. Этот аргумент может иметь значение NULL или быть ссылкой на цепочку длиной до 5 символов, которая должна использоваться в качестве первых символов имени временного файла.

Функция tempnam вызывает функцию malloc(3C) для получения области памяти под конструируемое имя, и возвращает ссылку на эту область. Таким образом, значение указателя, возвращаемого функцией tempnam, может служить аргументом функции free [см. malloc(3C)]. Если tempnam по каким-либо причинам не может возвратить ожидаемый результат (например, неудачно завершилась функция malloc или не удалось найти подходящий каталог), то возвращается пустой указатель.

ПРИМЕЧАНИЯ
При каждом обращении эти функции создают новое имя.

Файлы, созданные с помощью описанных функций и функций fopen(3S) или creat(2), являются временными только в том смысле, что они хранятся в каталоге, предназначенном для временного использования, и их имена уникальны. Для удаления этих файлов, когда в них отпала необходимость, пользователь должен применить системный вызов unlink(2).

СМ. ТАКЖЕ
creat(2), unlink(2), fopen(3S), malloc(3C), mktemp(3C), tmpfile(3S).

ОГРАНИЧЕНИЯ
При вызове более 17576 раз в одном процессе эти функции начнут циклически выдавать уже созданные ранее имена.

В промежутке между образованием имени файла и его открытием другой процесс может создать файл с тем же именем. Этого никогда не случится, если упомянутый "другой" процесс создает файл с помощью описываемых функций или функции mktemp, а имена файлов выбираются так, чтобы дублирование по другим причинам было маловероятным.

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...