gpt4 book ai didi

c - 替换 C 中的子字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:18:16 24 4
gpt4 key购买 nike

我是一个非常新的程序员,我一直很难弄清楚这一点。我在网上看过,但似乎找不到明确的答案。如何在 C 语言中用另一个子字符串替换所需的子字符串?

我基本上希望用户能够根据需要编辑他们的字符串。

我知道如何获得以下内容:

  • 从哪里开始进行编辑的索引

  • 要添加的新子串的长度

我想知道我该如何插入新子串并删除旧子串?

任何帮助将不胜感激

这是我的代码:

int length;
char firstString[100];
char editIndex[100];
char newString[100];
Char editedString[100];

printf("Enter your string: \n");
fgets(firstString, 100, stdin);

printf("Enter the word from which you would like to start editing: \n");
fgets(editIndex, 100, stdin);

printf("What substring would you like there instead?\n");
fgets(newString, 100, stdin);

length = strlen (newString);

这是我感到困惑的地方,我有索引从哪里开始索引(单词的第一个字符,我知道编辑有多长。我只是不知道如何删除原始字符( s) 在那里并用新的替换它。我想过使用 for 循环,但我不确定它是否有效。

这就是我想要的最终结果:

printf("%s", editedString);  

然后打印用户所做的编辑。

最佳答案

您将需要一个循环,该循环从开始进行编辑的位置的索引开始迭代,并在索引是从起点开始设置字符的子字符串的长度时结束。需要注意不要超过原始字符串的长度。

例子

char theString[10] = {'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'};
char theSubString[5] = {'E', 'a', 'r', 't', 'h'};

for (int i = 0; i < 5, i++)
theString[5 + i] = theSubString[i];

这会将所需的子字符串“World”替换为字符串“Earth”

" Hello World "成为“你好地球”

关于c - 替换 C 中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517618/

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