Навигация:
<< >> Оглавление Указатель

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.4. Отведение памяти и преобразование строк

А.5.4.14. rdsTransformFileName – преобразование имени файла

Функция rdsTransformFileName преобразует переданное ей имя файла согласно указанной в параметре операции: выделяет путь, заменяет расширение на другое и т.п.

    rdsTransformFileNameA( // UTF8
     FileName,  // Исходное имя файла (UTF8)
     Op,          // Операция (RDS_TFN_*)
     Arg,       // Дополнительный аргумент (UTF8)
    int *pLength       // Возвращаемая длина строки
  );
    rdsTransformFileNameW( // UTF16
     FileName, // Исходное имя файла (UTF16)
     Op,          // Операция (RDS_TFN_*)
     Arg,      // Дополнительный аргумент (UTF16)
    int *pLength       // Возвращаемая длина строки
  );
  // 
    rdsTransformFileName( // Кодировка по умолчанию
     FileName, // Исходное имя файла (кодировка по умолчанию)
     Op,          // Операция (RDS_TFN_*)
     Arg,      // Дополнительный аргумент (кодировка по умолчанию)
    int *pLength       // Возвращаемая длина строки
  );

Тип указателя на эту функцию

RDS_SSDwSpI (для UTF8) или RDS_WsWsDwWspI (для UTF16)

Параметры

FileName (RDSCSTR, RDSWCSTR, RDSXCSTR)
Указатель на строку с именем файла, которое нужно преобразовать.
Op (DWORD)
Выполняемая над именем файла операция:
RDS_TFN_CHANGEEXT Заменить расширение в имени файла на строку из параметра Arg. В параметре Arg указывается новое расширение (включая символ точки) или NULL, если расширение из имени файла нужно удалить.
RDS_TFN_EXCLUDEPATHBS Если в конце FileName находится символ обратной косой черты, убрать его (в противном случае FileName копируется в динамическую строку без изменений).
RDS_TFN_GETEXT Извлечь расширение из имени файла FileName, включая символ точки, отделяющий его от собственно имени. При отсутствии расширения в имени файла возвращается NULL.
RDS_TFN_GETNAME Убрать путь из FileName (возвращается собственно имя файла с расширением).
RDS_TFN_GETPATH Извлечь путь из имени файла FileName, включая завершающий его символ обратной косой черты.
RDS_TFN_GETPATHNOBS Извлечь путь из имени файла FileName, исключая завершающий его символ обратной косой черты.
RDS_TFN_INCLUDEPATHBS Если в конце FileName не находится символ обратной косой черты, добавить его (в противном случае FileName копируется в динамическую строку без изменений).
Arg (, , )
Дополнительный аргумент преобразования (новое расширение для операции RDS_TFN_CHANGEEXT).
pLength (int*)
Указатель на целую переменную, в которую функция должна записать длину получившейся строки. Если вызывающей программе не нужна длина строки, в этом параметре можно передать NULL.

Возвращаемое значение

Указатель на созданную в динамической памяти строку, содержащую преобразованное имя файла. Если преобразование дает пустую строку, возвращается NULL.

Примечания

Динамическая строка, созданная функцией rdsTransformFileName, должна быть обязательно освобождена функцией rdsFree.

Пример

Пример использования функции приведен в §3.4 руководства программиста.

См. также

rdsFree, rdsStringReplace.


<< >> Оглавление Указатель