分割字符串函数

1380阅读 0评论2015-02-04 keep_coding
分类:C/C++

写了一个小函数,分割字符串的,函数说明:
  1、参数说明: 第一个参数是被分割的字符串, 第二个是分割符,第三个是子串的编号,从0起 ;第四个参数是子串的结果。
  2、返回值: 正常情况下返回子串的长度,-1为查询不到。
  3、函数功能说明:利用分隔符,分割字符串 , 取当中的第n个子串,子串编号从0开始。
  例如:  abd|123|ded|56688||
   利用此函数第0个子串为abd,函数返回值为3 ; 第3个子串为56688,函数返回值为5;第4个子串为空,函数返回值为0 , 第5个子串为空,函数返回值为-1。
int split_string( char *splited_str , char split_char ,
                  int filed_index , char *result_str )
{
    char *v_src_p , *v_result_p;
    int  result_str_len ;
    v_src_p    = splited_str ;
    v_result_p = result_str ;
    while( filed_index > 0 )
    {
        v_src_p = strchr( v_src_p , split_char );
        if( v_src_p == NULL )
        {
            return -1 ;
        }
        else
        {
            v_src_p ++ ;
            filed_index -- ;
        }
    }
    result_str_len = 0 ;
    while( *v_src_p != 0 )
    {
        if( *v_src_p == split_char )
        {
            *(v_result_p+result_str_len) = 0 ;
            return result_str_len ;
        }
        else
        {
            *(v_result_p+result_str_len) = *v_src_p;
            v_src_p ++ ;
            result_str_len ++ ;
        }
    }
    return result_str_len ;
}
上一篇:没有了
下一篇: linux终端设备uart驱动分析