/********************************************************************************* * FUNCTION: mmi_vdoply_vdoflow_extract_file_path * DESCRIPTION: 传入全路径(包括文件名和后缀名) * INPUT: 1,in_path:传入全文件名 * OUTPUT: 1,out_filename:获取文件名保存到此参数中 * RETURNS: 无 **********************************************************************************/ void mmi_vdoply_extract_file_path(UI_string_type in_path) { UI_string_type p; videoname_pathBuffer[0] = 0; p = in_path + mmi_ucs2strlen((const S8*)in_path); while (p > in_path) { if (*p == L'//') { *(p+1) = 0; mmi_ucs2cpy((S8*) videoname_pathBuffer, (S8*) (in_path));//, MMI_VDOPLY_FULL_PATH_LEN); break; } p--; } } /********************************************************************************* * FUNCTION: mmi_vdoply_vdoflow_extract_filename * DESCRIPTION: 传入全路径(包括文件名称和后缀名称),提取文件名(包括文件名称和后缀名称) * INPUT: 1,in_path:传入全文件名 * OUTPUT: 1,out_filename:获取文件名保存到此参数中 * RETURNS: 无 **********************************************************************************/ void mmi_vdoply_extract_file_name(UI_string_type out_filename, const UI_string_type in_path) { PS8 filename_ptr = NULL; if (in_path == NULL) { *out_filename = 0; } else { filename_ptr = mmi_ucs2rchr((const PS8)in_path, (U16)(L'//')); if (filename_ptr == NULL) { *out_filename = 0; } else { mmi_ucs2ncpy((PS8)out_filename, (const PS8)(filename_ptr + 2), VDOPLY_MAX_FULL_NAME_LEN); } } } /********************************************************************************* * FUNCTION: mmi_vdoply_vdoflow_remove_file_ext * DESCRIPTION: 传入全文件名(不包括路径),去掉后缀名 * INPUT: 1,filename:传入全文件名 * OUTPUT: 1,videoname_extBuffer:保存该文件后缀名至该数组中 * RETURNS: 无 **********************************************************************************/ void mmi_vdoply_remove_file_ext(UI_string_type filename) { UI_string_type p; videoname_extBuffer[0] = 0; p = filename + mmi_ucs2strlen((const S8*)filename); while (p > filename) { if (*p == L'.') { *p = 0; mmi_ucs2ncpy((S8*) videoname_extBuffer, (S8*) (p + 1), VDOPLY_MAX_FILE_EXT_LEN); break; } p--; } }
此三函数亦可翻译成C语言操作字串函数,均是通过操作指针来获取……