//msg :输入字符串,qs:截取的起始位置,len:截取长度,rmsg:输出
char * mivs_base_cuthz(char *msg ,int qs,int len, char *rmsg)
{
int i,j,k,m,n,p;
static int qs1;
if(len<0)
{
qs1=0;
return msg;
}
if(qs<=1)
qs1=0;
m = qs1;
p = len;
j=0;k=0;n=0;
if ( m > 0 && m >= strlen(msg) )
{
rmsg[0] = 0 ;
return NULL ;
}
j=0;k=0;n=0;
for ( i=m;i<m+p;i++)
{
k = msg[i];
if ( k <0 || k > 128 )
{
n++;
if ( n%2 == 0 )
j=0;
else
j=1;
}
else
{
n=0;
j=0;
}
}
if ( j == 1 ) p-- ;
strncpy(rmsg,msg+m,p);
qs1 = m+p;
return msg;
}
本文详细解析了一个用于C语言中字符串截取的自定义函数。该函数能够从指定位置开始,根据设定的长度截取字符串,并将结果存储到另一个字符数组中。通过分析源代码,读者可以了解其内部实现机制,包括对特殊字符的处理和字符串长度的判断。
2830

被折叠的 条评论
为什么被折叠?



