24小时热门版块排行榜    

查看: 367  |  回复: 2

111高山流水

新虫 (初入文坛)

[求助] 用c++如何把下面字符串中的关键信息提取出来 已有1人参与

一个字符串:#1 = AXIS2_PLACEMENT_3D ( 'NONE', #29, #44, #43 ) ;如果通过C++编程把“#”、“=”、“(”、“,”、“,”、“,”和“)之间的信息提取出来,并存到变量中
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
用对字符串中每个字符进行判断的方法试试,例程如下:
CODE:
//main.c
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
        char *p[N];
        char *pc,*pb,*q;
        int count=0;
        int i=0,j;
        char *str="#1=AXIS2_PLACEMENT_3D('NONE',#29,#44,#43);";
        for(pc=str+1;*pc!='\0';pc++)
        {
                if(*pc!='#' && *pc!=',' && *pc!=';' && *pc!='='&& *pc!='(' && *pc!=')')
                        count++;
                else
                {
                        p[i]=(char *)malloc(count*sizeof(char));
                        q=p[i];
                        pb=pc-count;
                        while(pb<pc)
                                *q++=*pb++;
                        *q='\0';
                        count=0;
                        i++;
                }
               
        }       
        for(j=0;j<i;j++)
                printf("%s\n",p[j]);
        return 0;
}

2楼2015-01-18 09:07:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

黑小虎

铜虫 (初入文坛)

用正则表达式不行吗
3楼2015-01-18 10:25:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 111高山流水 的主题更新
信息提示
请填处理意见