在一个字符串中抠出最长的那串字符 {C..字符串处理}

不知道别人怎么看``应该是自己的道行不够吧..!拿C处理字符串``着实太恶心啊...!

复制代码
void stringdelete(char *str, const char *sub)
{
    while (NULL != (str = strstr(str, sub)))
    {
        memmove(str, str + strlen(sub), strlen(str + strlen(sub)) + 1);
    }
}

int main()//拿C来处理字符串``这不是要狗命么 - -!
{
    char ch[50], lch[50]{0}, maxch[50]{0};
    std::cout << "来个串儿" << std::endl;
    std::cin.getline(ch, size_t(ch));
    //int len = strlen(ch);

    for(int i = 0; i < strlen(ch); i++)
    {

        if(0x20 == ch[i])
        {
            if(strlen(lch) < i+1)
            {
                strncpy_s(lch, ch, i+1);
                stringdelete(ch, lch);
                strncpy_s(maxch, lch, i+1);
                i = 0;
            }
            else
            {
                strncpy_s(lch, ch, i+1);
                stringdelete(ch, lch);
                i = 0;
            }

            if(NULL == std::strstr(ch, " "))    //判断剩下的字符串是否有空格
            {
                if(strlen(lch)-1 < strlen(ch))
                    strcpy_s(maxch, ch);
                else
                    strcpy_s(maxch, lch);

                continue;
            }
        }
    }

    std::cout << "最长的那个是:" << maxch << std::endl;
    std::cin.get();
    return 0;
}
复制代码

代码很垃圾``不喜勿喷``欢迎大佬提点

posted @   老嘎皮  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示