我有一个C函数,它接受一个名为'buffer'的字符串,并解析它,它将匹配关键字并使用它来分配结构中的值.
但是,我想完全忽略一些关键字.
该程序解析VCard文件(.vcf,虚拟名片).
以下是可能提供的示例行缓冲区:
FN;CHARSET=UTF-8:David Celery
Run Code Online (Sandbox Code Playgroud)
FN是我感兴趣的关键词,而David Celery是与FN相关的值.
然而,CHARSET = UTF-8是我根本不关心的事情.
所以我的问题是,有没有办法让我扫描我的缓冲区,只需用'"替换'CHARSET = UTF-8',这样我就不用担心解析它(以及我想要的其他类似关键字)忽视).
谢谢,
use*_*313 15
看看简单的ANSI C解决方案,如:
void removeSubstring(char *s,const char *toremove)
{
while( s=strstr(s,toremove) )
memmove(s,s+strlen(toremove),1+strlen(s+strlen(toremove)));
}
Run Code Online (Sandbox Code Playgroud)