求助:从字符串中提取数字。

xndx 2006-11-15 09:34:17
比如字符串为"123a4b56c",现在须要去掉该字符串中的除数字以外的其它字符得到新的字符串"123456". 用什么方法在时间和空间上占用最少呢?
我自己现在是这样做的,但总觉得不太好。
#include <string.h>
#include <stdio.h>

main(void)
{
char a[]="123a4b56c";
char b[12];
int i=0;
int j=0;

for(i=0;i<=strlen(a);i++)
{
if ((int)a[i]>=48 && (int)a[i]<=57)
{b[j]=a[i];
j++;}
}
}

另外用C语言如何实现类似于VB里面的strleft,strright,strmid之类的函数呢?
...全文
186 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuheng1611 2006-11-15
  • 打赏
  • 举报
回复
#include <string.h>
#include <stdio.h>

int main(void)
{
char a[]="123a4b56c";
int i=0;
int j=0;
for(i=0;i<strlen(a);i++)
{
if ((*(a+i)-'0'<9) && (*(a+i)-'0'>-1))
{
j++;
}
}
char *b=new char[j];
j=0;
for(i=0;i<=strlen(a);i++)
{
if ((*(a+i)-'0'<9) && (*(a+i)-'0'>-1))
{
*(b+j)=*(a+i);
j++;
}
}
cout<<a<<endl<<b<<endl;
delete b;
retrun 0;
}
大家指教!

69,382

社区成员

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

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