首页 > 其他分享 >在一个字符串中抠出最长的那串字符 {C..字符串处理}

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

时间:2023-10-20 16:11:05浏览次数:30  
标签:sub .. char 抠出 str 字符串 strlen

不知道别人怎么看``应该是自己的道行不够吧..!拿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;
}

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

标签:sub,..,char,抠出,str,字符串,strlen
From: https://www.cnblogs.com/Emotionless/p/17777352.html

相关文章

  • 【从零学习python 】05. Python中运用算数运算符进行计算和字符串拼接
    进制现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。在二进制的基础上,计算机还支持八进制和十六进制这两种进制。除了计算机里的进制以外,我们生活中经常用到的是十进制。Python语言支持二进制、八进制、十六进制以......
  • 【从零学习python 】05. Python中运用算数运算符进行计算和字符串拼接
    进制现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。在二进制的基础上,计算机还支持八进制和十六进制这两种进制。除了计算机里的进制以外,我们生活中经常用到的是十进制。Python语言支持二进制、八进制、十六进制以......
  • 【从零学习python 】05. Python中运用算数运算符进行计算和字符串拼接
    进制现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。在二进制的基础上,计算机还支持八进制和十六进制这两种进制。除了计算机里的进制以外,我们生活中经常用到的是十进制。Python语言支持二进制、八进制、十六进制以......
  • c#中string字符串转为json对象
    string转json//字符串转jsonpublicstaticvoidstrJson(){stringjsonText="{"shenzheng":"深圳","beijing":"北京","shanghai":[{"zj1":"zj11","zj2":"zj22"},"zjs"......
  • Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()
    关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作!对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove、del相关方法,听到这里,就知道面试者根本不知道这个答案啦!因为对于这个问......
  • 【C语言基础】指向字符串的指针 & 字符串常量指针的关系
    问:指向字符串的指针与字符串常量指针有什么区别?答:经过实践指向字符串的指针就是字符串常量指针。字符串常量指针是常量指针的一种。常量指针的特点就是不能通过该指针来修改指向内存地址空间存储的值。 问:来看一下常见面试题char*p=“abcd”;*p=‘b’;printf("......
  • 字符串
    约定\(S/s\):字符串。\(S[l,r]\):区间\([l,r]\)形成的子串。\(S^R\):将字符串\(S\)翻转。manacher理论字符串算法的精髓是最大的利用之前求出的信息,这就让增量法和自动机成了字符串算法中的核心思想。manacher算法可以在线性时间复杂度内求出以每个点为中心的极大回文子......
  • javascript如何写不用转义的字符串代码
    js中的String.raw函数 语法 String.raw`templateStr`;  String.raw(obj,...substitutions); 支持能力有限,如可以支持String.raw`c:\aaa\bbb`       //result:   c:\aaa\bbb 但是String.raw`c:\aaa\bbb\`       //result:  ......
  • Linux shell编程学习笔记8:使用字符串
    一、前言字符串是大多数编程语言中最常用最有用的数据类型,这在Linuxshell编程中也不例外。本文讨论了LinuxShell编程中的字符串的三种定义方式的差别,以及字符串拼接、取字符串长度、提取字符串、查找子字符串等常用字符串操作,,以及反引号在echo和expr命令联合使用时的作用。二......
  • Python中如何将字符串变成数字?
    字符串和数字是Python中常见的数据类型,而且在撰写Python程序的时候,也经常会遇到需要将字符串转换为数字的情况,那么Python中如何将字符串变成数字?有多种方法可以使用,接下来一起来看看具体内容介绍。1、使用int()函数int()函数可以将字符串转换为整数类型。例如,将字符串......