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

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


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

Пример...
Аналог данной функции при использовании Automation - метод KompasObject::ksFullFileName.
Синтаксис:
```
unsigned int LIB_FUNC FullFileName (LPSTR oldName, LPSTR newName, unsigned int sizeBuf);
Входные параметры:
oldName    - буфер для имени файла,
sizeBuf    - размер буфера для имени файла.
Выходные параметры:
newName    - буфер для полного имени файла.
Возвращаемое значение:
длина имени файла    - в случае удачного завершения,
NULL    - в случае отказа от выбора.
```
Примечание:
1. Если sizeBuf меньше требуемой длины - newName не формируется.
2. При использовании Unicode следует использовать функцию FullFileNameW.


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

void FileName_Example (void) {
char *s2;
//выделим буфер
s2 = new char [6];
strcpy(s2, "1.cdw");
unsigned int size2,size1 ;
//получим полное имя и поместим его в s2
size1=strlen(s2) 1;
if ((size2=FullFileName(s2, s2, size1)) > size1) {
//требуемая длина size2 > size1, которую мы предоставили
delete [] s2;
s2 = new char[size2];
GetRightFileName(s2, size2);
}
}; /* FileName_Example */


## FullFileNameW, GetRightFileName - пример использования, Unicode

void FileNameW_Example (void) {
LPWSTR s2;
//выделим буфер
s2 = new char [6];
strcpy(s2, "1.cdw");
unsigned int size2, size1;
//получим полное имя и поместим его в s2
size1=strlen( s2 ) 1;
if ((size2=FullFileNameW( s2, s2, size1 )) > size1) {
//требуемая длина size2 > size1, которую мы предоставили
delete [] s2;
s2 = new char[size2];
GetRightFileName(s2, size2);
}
}; /* FileName_Example */
