大佬教程收集整理的这篇文章主要介绍了C中如何去掉引号,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们如何去除引号,例如如果我们有:"film"
并且我们想要返回 film
我的代码:
char* remove_quotes(char* s1) {
if (s1[0] == '"' && s1[strlen(s1) - 1] == '"') {
s1[0] = '\0';
s1[strlen(s1) - 1] = '\0';
}
return s1;
}
应该是这样的吧?
s1[0] = '\0';
将阻止 strlen(s1)
返回正确的值。s1 + 1
而不是 s1
以跳过第一个引号(或引号所在的空格)。试试这个:
char* remove_quotes(char* s1) {
if (s1[0] == '"' && s1[strlen(s1) - 1] == '"') {
s1[strlen(s1) - 1] = '\0';
return s1 + 1;
}
return s1;
}
如果您希望将两个 "
从原始字符串中删除,您可以通过 @H_935_3@memmove() 移动内存的内容,而不是移动指针。 (不要使用 strcpy()
或 @H_935_3@memcpy(),因为它们不支持复制到重叠的目的地)
char* remove_quotes(char* s1) {
size_t len = strlen(s1);
if (s1[0] == '"' && s1[len - 1] == '"') {
s1[len - 1] = '\0';
memmove(s1,s1 + 1,len - 1);
}
return s1;
}
,
移除功能比较简单。只要有两个指针。
#include <stdio.h>
char *strdelch(char *str,char ch)
{
char *current = str;
char *tail = str;
while(*tail)
{
if(*tail == ch)
{
tail++;
}
else
{
*current++ = *tail++;
}
}
*current = 0;
return str;
}
int main(void)
{
char str[] = "Hell`o` ```w`o``r`l```d`!```";
printf("%s\n",strdelch(str,'`'));
}
以上是大佬教程为你收集整理的C中如何去掉引号全部内容,希望文章能够帮你解决C中如何去掉引号所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。