繁体   English   中英

c:从字符串中删除两个字符

[英]c: remove two characters from string

我正在处理字符串: {()}我的代码搜索第一个)并将其和它前面的字符替换为空白(结果为{ }

我想要做的而不是替换空格的操作是从字符串中删除括号,然后使用现有代码再次递归检查字符串。 我正在尝试找到一种使用memmove或类似方法折叠其余字符的方法

char openKey[] = "({<[";
char closeKey[] = ")}>]";
pch = strpbrk(parenthesesStack, closeKey);
while (pch != NULL)
{

    if (opposits(*(pch-1),*pch)){
        printf("%c %c\n" , *(pch-1), *pch);
        memmove(pch-1,"  ",2);
    }
    pch = strpbrk (parenthesesStack,closeKey);
}

因此,您想将字符串2的其余位置向左移动吗?

尝试这个:

    memmove(pch-1, pch+1, strlen(pch+1) + 1);

与其使用memmove()strlen()strcpy()使用strcpy()

strcpy( pch - 1, pch + 1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM