字符的切割与合并

erldy erldy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
两个看起来非常简单的函数,为什么就是有错误呢,搞不懂
第一个切割函数:
例如
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);
}

两个程序运行都有错误,不知道哪里的问题,请高手指点!!!谢谢了。
...全文
评论 15
收藏 已收藏
分享
返回顶部
erldy
C语言 70,039 成员 243,237 内容