我如何从 c 中的字符串中删除字符

How can ı remove character from string in c

谁能帮忙 me.I 想从 char* 中删除字符

例如,char *str 这个 str 等于“apple”,首先我删除 1. 字符并定义一个新变量然后删除 2. 字符并定义新变量等等,直到 str 结束。

我该怎么做?我是 C 的新手,似乎无法弄清楚

假设您只需要删除左边的字符。

因为 C 中的字符串是字符数组,而数组是指向数组第一个元素的指针,所以您可以创建指向原始 char 数组中特定索引的变量。

例如

char* myString = "apple";
char* subString = myString+1;

printf("%s\n%s\n", myString, substring);

会产生输出

apple
pple

我们可以将其概括为存储通过从 char* 指针(指向指针的指针)数组的左侧删除字符而获得的所有子字符串。像这样:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char** GetSubStrings(char* input)
{
    int length = strlen(input);
    char** result = calloc(length, sizeof(char*));
    
    for(int i = 0; i < length; i++)
    {
        result[i] = input + i;
    }
    
    return result;
}

int main()
{
    char* myString = "apple";
    
    char** subStrings = GetSubStrings(myString);
    
    for(int i = 0; i < strlen(myString); i++)
    {
        printf("%s\n", subStrings[i]);
    }
    
    free(subStrings);
    
    return 0;
}