字符的切割与合并
erldy 2006-07-18 11:16:47 两个看起来非常简单的函数,为什么就是有错误呢,搞不懂
第一个切割函数:
例如
char *str = "8058007004";
SplitStr(str,Fstr,Lstr,7);
切割成
Fstr ="8058007"
Lstr ="004"
void
SplitStr(char * str,char * Fstr,char * Lstr,int len){
int mlen = 0;
int i = 0;
char * tmp1,* tmp2;
tmp1 = Fstr;
while((*tmp1++ = *str++)&&i<len-1) i++;
*tmp1 = 0x00;
Lstr = str;
//while((*tmp2++ = *str++)!=0x00) printf("str:%s\n",str);
//printf("Fstr:%s\n",Fstr);
//printf("Lstr:%s\n",Lstr);
}
第二个是合并函数:
例如
JoinStr(strs,"8058007","004");
合成的结果是:strs = "8058007004"
void
JoinStr(char * str,char * Fstr,char * Lstr){
char * tmp;
tmp = str;
printf("Fstr:%s\n",Fstr);
printf("Lstr:%s\n",Lstr);
while((*tmp++ = *Fstr++)!=0x00);
tmp--;
while((*tmp++ = *Lstr++)!=0x00);
printf("str:%s\n",str);
}
两个程序运行都有错误,不知道哪里的问题,请高手指点!!!谢谢了。