--- 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 */