CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
mktemp
MKTEMP #imclude <io.h> требуется только для объявления функции char *mktemp(template); char *template; шаблон имени файла Описание. Функция mktemp создает уникальное имя файла, модифицируя данный template. Аргумент template имеет форму: baseXXXXXX, где base является частью нового имени файла, предлагаемого пользователем и X...X являются знакоместами для части, формируе- мой mktemp; mktemp сохраняет base и заменяет шесть Х алфавитным символом, следующим за значением из 5 цифр. 5-цифровое значение является уникальным номером, идентифицирующим вызываемый процесс. При первом вызове mktemp с заданным template алфавитный символ равен символу 0('0'). В последующих вызовах из того же самого процесса с тем же самым template mktemp проверяет, использовались ли ранее возвращенные имена для создания файлов. Если файла с за- даным именем не существует, mktemp возвращает это имя. Если для всех ранее возвращенных имен файлы существуют, mktemp создает но- вое имя, заменяя в нем алфавитный символ следующей доступной бук- вой нижнего регистра. Например, если первое возвращенное имя было t012345 и это имя использовалось для создания файла, то следующее возвращаемое имя будет ta12345. При создании новых имен mktemp использует '0' и буквы нижнего регистра от "a" до "z". Возвращаемое значение. Функция mktemp возвращает указатель на модифицированный template. Возвращаемым значением является NULL, если аргумент template образован неверно или больше не может быть создано уни- кальных имен из заданного template. Смотри также fopen, getpid, open. Замечание. Функция mktemp генерирует уникальные имена фай- лов, но не создает и не открывает файлы. Пример: #include <io.h> char *template="fnXXXXXX"; char *result; /* следующий оператор вызывает mktemp для создания ** уни- кального имени файла */ result=mktemp(template);