gpt4 book ai didi

C - 用字符串替换字符

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:09 25 4
gpt4 key购买 nike

我正在编写一个对文本进行编码的程序,以便将其放入 URL 中。我让用户输入一个字符串,如果它包含特殊字符(#、%、&、? 等),则用相应的字符代码(%23、%25、%26、%3F 等)替换它们。问题是特殊字符的长度仅为 1,而代码的长度为 3。代码最终会替换特殊字符之后的字符。这是我用来进行替换的代码。

char *p = enteredCharStr;
while ((p = strstr(p, specialCharArr[x])) != NULL )
{
char *substr;
substr = strstr(enteredCharStr, specialChar[x]);
strncpy(substr, charCodesArr[x], 3);
p++;
}

将我的程序与输入一起使用的示例输出:“this=this&that”

this%3Dis%26at

我希望输出为:

this%3Dthis%26that

关于如何在 C 语言(无库)中实现我想做的事情有什么想法吗?

最佳答案

解决此问题的一种方法是分配第二个字符串,其大小是 enteredCharStr 的三倍,然后将字符一个一个地复制过来,当您看到特殊字符时写入 replaement。您希望它的大小是原来的三倍,因为在最坏的情况下您需要替换几乎所有字符。

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

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