在MTK平台上扩展的操作字符串的三个函数

来源:互联网 发布:四级单词一笑而过软件 编辑:程序博客网 时间:2024/06/05 16:41

/*********************************************************************************
* 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语言操作字串函数,均是通过操作指针来获取……

原创粉丝点击