В некоторых случаях приложению может потребоваться сохранить определенные используемые в процессе работы программы данные во временном файле.
Создание временного файла осуществляется на основе специально созданного шаблона его имени.
char template[] = "/tmp/testXXXXXX";
Функция mkstemp() создает временный файл и возвращает его дескриптор в случае отсутствия ошибок или значение -1, если файл создать не удалось. Функция модифицирует строку с шаблоном имени файла таким образом, чтобы она отражала реальное имя созданного временного файла, поэтому эта строка не должна быть неизменяемой.
fd = mkstemp(template);
Подробнее о работе с файлами в C сказано в данном разделе. Следует также учесть тот факт, что функция mkstemp() возвращает не указатель на структуру FILE, а файловый дескриптор. Для того, чтобы получить указатель на эту структуру из доступного файлового дескриптора, следует воспользоваться функцией fdopen().
file = fdopen(fd, "w");
Разумеется, вы можете использовать созданный временный файл так, как вам нужно, не забыв после использования закрыть его дескриптор с помощью функции close() и удалить его из файловой системы с помощью функции unlink(), принимающей путь к нему в качестве аргумента.
close(fd);
unlink(template);
В примере осуществляется создание и удаление временного файла. Сгенерированное имя файла демонстрируется пользователю.