| 3ds Max C++ API Reference
    | 
These function is used to extract the path, filename and/or extension out of a fully-qualified path name. More...
| Functions | |
| CoreExport void | SplitFilename (const CStr &full_path, CStr *directory, CStr *filename, CStr *extension) | 
| SplitFilename (CStr* version) | |
| CoreExport void | SplitFilename (LPCSTR full_path, LPSTR directory, size_t dbuflen, LPSTR filename, size_t fbuflen, LPSTR extension, size_t ebuflen) | 
| SplitFilename (char* version) | |
| CoreExport void | SplitFilename (const WStr &full_path, WStr *directory, WStr *filename, WStr *extension) | 
| SplitFilename (WStr* version) | |
| CoreExport void | SplitFilename (LPCWSTR full_path, LPWSTR directory, size_t dbuflen, LPWSTR filename, size_t fbuflen, LPWSTR extension, size_t ebuflen) | 
| SplitFilename (wchar_t* version) | |
These function is used to extract the path, filename and/or extension out of a fully-qualified path name.
Pass in NULL for components which you do not require.
Note that SplitFilename will also support being passed a GUID string representing an asset. Example: "{B5B12976-3C00-475A-A619-CE0C76BD8483}" If the IAssetManager can find an asset corresponding to this string, SplitFilename will use the filename of this asset.
\code
{
    CStr p, f, e;
    CStr name("c:\\mydir\\myfile.txt");
    SplitFilename(name, &p, &f, &e);
    // p now contains "c:\\mydir"
    // f now contains "myfile"
    // e now contains ".txt"
}
{
    WStr p;
    WStr name(L"c:\\mydir\\myfile.txt");
    SplitFilename(name, &p, NULL, NULL);    
    // p now contains L"c:\\mydir"
}
{
    wchar_t file[MAX_PATH];
    SplitFilename(L"c:\\mydir\\myfile.txt", NULL, file, NULL);
    // file now contains L"myfile"
}
\endcode
\param[in] full_path Full pathname, cannot be NULL.
\param[out] directory   Extracted path name, with directory.  Pass NULL if you do not need it.
\param[in] dbuflen      Applies only to the char* (wchar_t*) versions of SplitFilename(): size of the \p directory string buffer, in char (wchar_t) units, not bytes.
\param[out] filename    Extracted filename, without extension.  Pass NULL if you do not need it.
\param[in] fbuflen      Applies only to the char* (wchar_t*) versions of SplitFilename(): size of the \p filename string buffer, in char (wchar_t) units, not bytes.
\param[out] extension   Extracted extension.  Pass NULL if you do not need it.
\param[in] ebuflen      Applies only to the char* (wchar_t*) versions of SplitFilename(): size of the \p extension string buffer, in char (wchar_t) units, not bytes.
 | CoreExport void SplitFilename | ( | const CStr & | full_path, | 
| CStr * | directory, | ||
| CStr * | filename, | ||
| CStr * | extension ) | 
SplitFilename (CStr* version)
| CoreExport void SplitFilename | ( | LPCSTR | full_path, | 
| LPSTR | directory, | ||
| size_t | dbuflen, | ||
| LPSTR | filename, | ||
| size_t | fbuflen, | ||
| LPSTR | extension, | ||
| size_t | ebuflen ) | 
SplitFilename (char* version)
| CoreExport void SplitFilename | ( | const WStr & | full_path, | 
| WStr * | directory, | ||
| WStr * | filename, | ||
| WStr * | extension ) | 
SplitFilename (WStr* version)
| CoreExport void SplitFilename | ( | LPCWSTR | full_path, | 
| LPWSTR | directory, | ||
| size_t | dbuflen, | ||
| LPWSTR | filename, | ||
| size_t | fbuflen, | ||
| LPWSTR | extension, | ||
| size_t | ebuflen ) | 
SplitFilename (wchar_t* version)