我如何从 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;
}
谁能帮忙 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;
}