当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > 屏蔽字符串中指定关键字
屏蔽字符串中指定关键字
时间:2016-12-12作者:华清远见

描述:编写一道程序完成将任意字符串中指定子串屏蔽。

例如:
        从"acbdhelloaaacchina",中屏蔽"aac",将其显示为:"acbdhelloa***china"。

#include < stdio.h>
        #define N 64
        char *mystrstr(char *src, char *needle);
        int main()
        {
                char buff[N];
                char *needle = "aac";
                gets(buff);        //此处为临时测试用,实际中不允许使用危险的gets函数。
                mystrstr(buff,needle);         //调用子函数处理字符串
                puts(buff);        //打印处理后的结果
                return 0;
        }
        char *mystrstr(char *src, char *needle)
        {
                char *old = src;
                int len = 0;
                int i = 0;
                if(NULL == src || NULL == needle) //安全校验,如果指针非法则退出
                        return NULL;
                while('\0' != *src)        //进入主循环,条件为字符串的结束标识
                {
                        len = 0;
                        while(*src != *needle && *src != '\0')        //第一步,先找到要屏蔽的字符串头
                        src ++;
                        while(src[len] == needle[len] && needle[len] != '\0')        //第二步,找到字符串尾
                        len ++;
                        if(needle[len] == '\0')        //依据条件判断,如果找到了,则开始屏蔽
                        {
                                for(i = 0; i < len; i ++)
                                        src[i] = '*';
             &nbsnbsp;                  src += len;
                        }
                        else
                                src ++;        //否则从下一个字符开始重新查找。
                }
                return old;
        }

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)