我有一些C代码从STDIN读取HTML表单的内容,并且此刻将字符串标记为。
fgets(formip, 1024, stdin);
pch = strtok (formip,"=&");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, "=&");
printf ("<br>\n");
}
这会产生如下输出:
checkbox,checked,value,2
checkbox,checked,value,3
有谁知道如何将其扩展为不写“复选框”或“值”字符串?
答案 0 :(得分:1)
您需要添加一些比较代码,并在打印前跳过这些不需要的字符串:
while(pch != NULL)
{
if(strcmp(pch, "checkbox") == 0 || strcmp(pch, "value") == 0)
continue;
}
答案 1 :(得分:1)
您可以使用strcmp
检查字符串是否相等,重要的是不要跳过对strtok
的下一次调用,否则您将陷入无限循环:
while (pch != NULL )
{
if( strcmp( pch, "value") != 0 && strcmp(pch, "checkbox") != 0)
{
printf ("%s\n",pch);
printf ("<br>\n");
}
pch = strtok (NULL, "=&");
}