---
title: "UniqueFileName - Получить уникальное имя файла"
type: guide
api: [api7]
tags: [guide, api7, uniquefilename]
sources:
  - uniquefilename.html
---

*API экспортных функций > Функции работы с файлами документов *


## UniqueFileName - Получить уникальное имя файла

Пример...
Аналог данной функции при использовании Automation - метод KompasObject::ksUniqueFileName.
Синтаксис:
```
unsigned int UniqueFileName (char *buff, unsigned int sizeBuf);
Входные параметры:
buff    - буфер для имени файла,
sizeBuf    - размер буфера для имени файла.
Возвращаемое значение:
длина имени файла    - в случае удачного завершения,
NULL    - в случае неудачи.
```
Примечание:
1. Получить уникальное имя для создания служебного файла в процессе работы библиотеки и поместить его в буфер buff. Параметр sizeBuf определяет размер буфера. Имя регистрируется и запоминается системой. По окончании работы в случае, если файл с таким именем существует, он будет автоматически удален.
2. При использовании Unicode следует использовать функцию UniqueFileNameW.


## UniqueFileName, RemoveUniqueFile - пример использования

char fileName[255];
char buf[128];
FILE * f;
void CreateSysFile() {
f = fopen(fileName,"rt");
fputs("Это служебная информация",f);
fclose(f);
}
void ReadSysFile() {
f = fopen(fileName ,"rt");
fgets(buf, 128, f);
Message(buf);
fclose(f);
}
void UniqueFile_Example (void) {
//запросили имя служебного файла
UniqueFileName(fileName, 255);
CreateSysFile();
ReadSysFile();
//удалить служебный файл
RemoveUniqueFile(fileName);
}; /* UniqueFile_Example */
