gpt4 book ai didi

c - 用C中的字符替换字符串

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

代码接受用户输入(html标签)

ex:
<p> The content is &nbsp; text only &nbsp; inside tag </p>

gets(str);

任务是用newline("\n")替换所有出现的 

while((ptrch=strstr(str, "&nbsp;")!=NULL)
{
memcpy(ptrch, "\n", 1);
}

printf("%s", str);

上面的代码只用 \n 替换了第一个字符。

查询是如何用 \n 替换整个   或如何将 nbsp; 的其余部分设置为空字符常量而不以空指针 ('\0') 终止字符串。

最佳答案

你快到了。现在只需使用 memmove 将内存移动到新行。

char str[255];
char* ptrchr;
char* end;

gets(str); // DANGEROUS! consider using fgets instead
end = (str + strlen(str));

while( (ptrch=strstr(str, "&nbsp;")) != NULL)
{
memcpy(ptrch, "\n", 1);
memmove(ptrch + 1, ptrch + sizeof("&nbsp;") - 1, end-ptrchr);
}

printf("%s", str);

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

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