当前位置: 技术问答>linux和unix
字符串分段处理
来源: 互联网 发布时间:2016-09-20
本文导语: 在做一个嵌入式web服务器,现在要实现读取html发过来的信息,name1=value1&name2=nalue2&name2=nalue2&name3=nalue3&name4=nalue4&name5=nalue5&name6=nalue6&name7=nalue7&name8=nalue8 现在定义了2个数组,分别存放name和value char *argName[8]; char ...
在做一个嵌入式web服务器,现在要实现读取html发过来的信息,name1=value1&name2=nalue2&name2=nalue2&name3=nalue3&name4=nalue4&name5=nalue5&name6=nalue6&name7=nalue7&name8=nalue8
现在定义了2个数组,分别存放name和value
char *argName[8];
char *argValue[8];
c = getchar()
可以怎么将c分割,分别存放在这2个数组里啊?
现在定义了2个数组,分别存放name和value
char *argName[8];
char *argValue[8];
c = getchar()
可以怎么将c分割,分别存放在这2个数组里啊?
|
char *
skip(char **buf, const char *delimiters)
{
char *p, *begin_word, *end_word, *end_delimiters;
begin_word = *buf;
end_word = begin_word + strcspn(begin_word, delimiters);
end_delimiters = end_word + strspn(end_word, delimiters);
for (p = end_word; p http_headers[i].name = skip(buf, ": ");
ri->http_headers[i].value = skip(buf, "rn");
if (ri->http_headers[i].name[0] == '')
break;
ri->num_headers = i + 1;
}
}
skip(char **buf, const char *delimiters)
{
char *p, *begin_word, *end_word, *end_delimiters;
begin_word = *buf;
end_word = begin_word + strcspn(begin_word, delimiters);
end_delimiters = end_word + strspn(end_word, delimiters);
for (p = end_word; p http_headers[i].name = skip(buf, ": ");
ri->http_headers[i].value = skip(buf, "rn");
if (ri->http_headers[i].name[0] == '')
break;
ri->num_headers = i + 1;
}
}
|
还是说个思路让他自己写去吧,有问题再来问,思路应该就是二楼的了
|
一一对应的数据,你定义个结构体数组来存放更合理和整齐。
至于分割,=和&不是都可以做分割标记么,自己写个字符串处理函数就可以了。
至于分割,=和&不是都可以做分割标记么,自己写个字符串处理函数就可以了。
|
重复发帖了吧
|
同意,不该让人变懒
|
感觉有点不对