diff --git a/include/Vutils.h b/include/Vutils.h index f663a65..fd52c5f 100644 --- a/include/Vutils.h +++ b/include/Vutils.h @@ -664,6 +664,8 @@ std::string vuapi extract_file_directory_A(const std::string& file_path, bool la std::wstring vuapi extract_file_directory_W(const std::wstring& file_path, bool last_slash = true); std::string vuapi extract_file_name_A(const std::string& file_path, bool extension = true); std::wstring vuapi extract_file_name_W(const std::wstring& file_path, bool extension = true); +std::string vuapi extract_file_extension_A(const std::string& file_path); +std::wstring vuapi extract_file_extension_W(const std::wstring& file_path); std::string vuapi get_current_file_path_A(); std::wstring vuapi get_current_file_path_W(); std::string vuapi get_current_directory_A(bool last_slash = true); @@ -820,6 +822,7 @@ void vuapi crypt_sha_buffer( #define write_file_binary write_file_binary_W #define extract_file_directory extract_file_directory_W #define extract_file_name extract_file_name_W +#define extract_file_extension extract_file_extension_W #define get_current_file_path get_current_file_path_W #define get_current_directory get_current_directory_W #define get_contain_directory get_contain_directory_W @@ -894,6 +897,7 @@ void vuapi crypt_sha_buffer( #define write_file_binary write_file_binary_A #define extract_file_directory extract_file_directory_A #define extract_file_name extract_file_name_A +#define extract_file_extension extract_file_extension_A #define get_current_file_path get_current_file_path_A #define get_current_directory get_current_directory_A #define get_contain_directory get_contain_directory_A diff --git a/src/details/filedir.cpp b/src/details/filedir.cpp index 8ebbac2..f69da05 100644 --- a/src/details/filedir.cpp +++ b/src/details/filedir.cpp @@ -264,6 +264,32 @@ std::wstring vuapi extract_file_directory_W(const std::wstring& file_path, bool return result; } +std::string vuapi extract_file_extension_A(const std::string& file_path) +{ + std::string result; + + size_t pos_dot = file_path.find_last_of('.'); + if (pos_dot != std::string::npos) + { + result = file_path.substr(pos_dot); + } + + return result; +} + +std::wstring vuapi extract_file_extension_W(const std::wstring& file_path) +{ + std::wstring result; + + size_t pos_dot = file_path.find_last_of('.'); + if (pos_dot != std::wstring::npos) + { + result = file_path.substr(pos_dot); + } + + return result; +} + std::string vuapi extract_file_name_A(const std::string& file_path, bool extension) { std::string result;