[英]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.