替换单个字符的问题,在线等

pressman 2006-03-22 02:30:31
char *abc="aaaaa{bbb{cccccccccc{dd";其中有若干个{,
想用代码把其中的 { 替换成 :|

替换后的正确结果应该是:abc="aaaaa:|bbb:|cccccccccc:|dd"


在线等,谢谢,解决马上结帖
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjiajie 2006-03-22
  • 打赏
  • 举报
回复
下手晚了....b4
pressman 2006-03-22
  • 打赏
  • 举报
回复
void Foo(char* dest,char* src)
{
while (*src)
{
if (*src == '{')
{
*dest++ = ':';
*dest++ = '|';
src++;
continue;
}
*dest++ = *src++;
}
}

int main(void)
{
char abc[]="aaaaa{bbb{cccccccccc{dd";
char buffer[100] = {0};
Foo(buffer,abc);

printf("%s",buffer);

return 0;
}
呵呵,可以了,结帖!
du51 2006-03-22
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void EXchange(char **des,char *src)
{
int i=0,n=0,len;
char *p=src;
while(*p)
{
if(*p++=='{')n++;
i++;
}
len=i+n+1;
p=*des=(char *)malloc(sizeof(char)*len);
if(!*des)return;
while(*src)
{
if(*src=='{')*p=':',*(p+1)='|',p+=2;
else *p++=*src;
src++;
}
*p=0;
}
int main()
{
char *test="aaaaa{bbb",*des;
EXchange(&des,test);
printf("%s\n%s\n",test,des);
free(des);
getch();
return 0;
}
dragonzxh 2006-03-22
  • 打赏
  • 举报
回复
void Foo(char* dest,char* src)
{
while (*src)
{
if (*src == '{')
{
*dest++ = ':';
*dest++ = '|';
src++;
continue;
}
*dest++ = *src++;
}
}

void main()
{
char abc[]="aaaaa{bbb{cccccccccc{dd";
char buffer[100] = {0};
Foo(buffer,abc);
}
pressman 2006-03-22
  • 打赏
  • 举报
回复
哦,好的,谢谢
goodluckyxl 2006-03-22
  • 打赏
  • 举报
回复
这个应该比较容易吧
我现在忙 一会把处理给你试试

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧