C 用于删除字符串指针的退格的函数

C 用于删除字符串指针的退格的函数,c,arrays,string,pointers,C,Arrays,String,Pointers,我需要编写一个函数来删除退格并移动所有后续字符。这就是我目前所拥有的 int ProcessBackspaces(char *rpn_sentence) { int i=0; char *array [MAX]; char *b_token; b_token = strtok(rpn_sentence, "\b"); while (b_token!=NULL){ array[i]=b_toke

我需要编写一个函数来删除退格并移动所有后续字符。这就是我目前所拥有的

int ProcessBackspaces(char *rpn_sentence)
{
        int i=0;
        char *array [MAX];
        char *b_token;
        b_token = strtok(rpn_sentence, "\b");
        while (b_token!=NULL){
            array[i]=b_token;
            i++;
        }    
}
我一直在研究如何使传入指针(char*rpn_语句)指向指针数组的每个元素

如何使传入指针(char*rpn_语句)指向指针数组的每个元素

只需增加指针(或其副本)

还要考虑字符串可能有0个退格(请快速)或多个退格(仅复制字符一次)

如何使传入指针(char*rpn_语句)指向指针数组的每个元素

只需增加指针(或其副本)

还要考虑字符串可能有0个退格(请快速)或多个退格(仅复制字符一次)

char *ProcessBackspaces(char *rpn_sentence) {
  char *src = strchr(rpn, '\b'); // Find first quickly
  if (src) {
    char *dest = src;
    src++;
    while (*src) {
      if (*src != '\b') {
        *dest++ = *src;  // Save non-backspaces, increment destination
      }
      src++;             // Increment source
    }
    *dest = '\0';      
  }
  return rpn;  // Perhaps return start of string
}