gpt4 book ai didi

c - 从原始字符串中删除字符?

转载 作者:行者123 更新时间:2023-11-30 20:00:54 25 4
gpt4 key购买 nike

这可能是基本的,请耐心等待,

char data[]="(xxx)";

我想删除 () 并保留 数据 仅为 xxx ,

char *p = strtok(data,"(");
p = strtok(NULL,")");
printf("this data: %s \n",p);
printf("this data: %s \n",data);
  1. p 应该是 xxx 但它是 NULL ,数据保持不变(strtok 应该影响源?)
  2. 这不会更改数据,我想要一种操作数据的方法 xxx

最佳答案

怎么样

memmove(data, data + 1, sizeof data - 1);  // Removes the (
data[strlen(data) -1] = '\0'; // Removes the )

请注意,上述解决方案仅适用于最初呈现的带有前括号和尾括号的数据。它也仅在 data 实际上是数组而不是指针时才有效。并且数组 data 需要位于可修改的内存中(例如 RAM)。

另请注意,如果满足段落中的要求,则两个语句的顺序并不重要。

关于c - 从原始字符串中删除字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38684693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com