当前位置: 技术问答>linux和unix
关于从缓存中读取数据的问题
来源: 互联网 发布时间:2017-03-09
本文导语: 我写了一个网络程序,程序大致流程就是发送HTTP请求到网络服务器,然后服务器给出响应, 现在我把网络服务器的响应信息用一个buffer接收下来了, buffer存放的是字符数组, buffer中的内容如下: HTTP/...
我写了一个网络程序,程序大致流程就是发送HTTP请求到网络服务器,然后服务器给出响应, 现在我把网络服务器的响应信息用一个buffer接收下来了, buffer存放的是字符数组, buffer中的内容如下:
HTTP/1.1 200 OK
x-amz-id-2: 0JyU0vplRfktQK7UM4U1/vU5ivCeeJr35wvD6dr5Qg7zJSi2o61DWPn2HIe3GtDQ
x-amz-request-id: 45F82E21E6C93CD7
Date: Tue, 07 Sep 2010 14:11:31 GMT
Last-Modified: Mon, 30 Aug 2010 02:24:46 GMT
Content-Length: "df7aba564cc65f7841b07981b346dc21"
Content-Type: binary/octet-stream
Content-Length: 5046743
Server: AmazonS3
我想实现的是把buffer中的Last-Modified和Content-Length标记的value值读出来存入一个结构体变量里,譬如放到struct header head里, 使得 header.Last-Modified = Mon, 30 Aug 2010 02:24:46 GMT, header.Content-Length=5046743。
请问该怎么解析啊? 我知道如果是文件的话可以用fgets循环的一次读出一行来处理,可是现在是buffer,该怎么实现每次读出一行内容啊?
HTTP/1.1 200 OK
x-amz-id-2: 0JyU0vplRfktQK7UM4U1/vU5ivCeeJr35wvD6dr5Qg7zJSi2o61DWPn2HIe3GtDQ
x-amz-request-id: 45F82E21E6C93CD7
Date: Tue, 07 Sep 2010 14:11:31 GMT
Last-Modified: Mon, 30 Aug 2010 02:24:46 GMT
Content-Length: "df7aba564cc65f7841b07981b346dc21"
Content-Type: binary/octet-stream
Content-Length: 5046743
Server: AmazonS3
我想实现的是把buffer中的Last-Modified和Content-Length标记的value值读出来存入一个结构体变量里,譬如放到struct header head里, 使得 header.Last-Modified = Mon, 30 Aug 2010 02:24:46 GMT, header.Content-Length=5046743。
请问该怎么解析啊? 我知道如果是文件的话可以用fgets循环的一次读出一行来处理,可是现在是buffer,该怎么实现每次读出一行内容啊?
|
char *p;
int i;
p = strtok(buffer, "n");
printf("p=[%s]n", p);
for( i = 0; i