论坛大神
- 积分
- 1843
- 金钱
- 1843
- 注册时间
- 2012-9-16
- 在线时间
- 285 小时
|
发表于 2020-9-3 20:13:47
|
显示全部楼层
两个重要函数直接调用
- int BIN_currentlen_left ( char * recv_data )
- {
- int len ;
- char data_buf[60];/*缓存*/
- char cache_buf[20];/*缓存*/
- /*1、在接收到服务器的数据后,查找"Content-Range: bytes"字段,并返回数据地址*/
- /*2、在接收到服务器的数据后,查找"\r\n"字段,并返回数据地址*/
- /*3、获取长度*/
- len = strstr(strstr(recv_data,"Content-Range: bytes"),"\r\n") - strstr(recv_data,"Content-Range: bytes");
- /*4、减去 "Content-Range: bytes"字段的长度,即为我们需要获取字段的长度 */
- /*5、对字段分割,一般获取数据格式为0-2048/6540*/
- /*6、用strstr函数,获得”/6540“字段,之后地址加一,字符转换即可*/
- strncpy(data_buf, strstr(recv_data,"Content-Range: bytes")+strlen("Content-Range: bytes"),len-strlen("Content-Range: bytes"));
- /*7、0-2048/6540 其中0 = 拷贝 0-2048/6540,长度为len 减去-2048/6540字段*/
- strncpy(cache_buf, data_buf,len-strlen(strstr(data_buf,"-")));
- return atoi(cache_buf);
- }
- int BIN_currentlen_right ( char * recv_data )
- {
- int len ;
- char data_buf[60];/*缓存*/
- char cache_buf[20];/*缓存*/
- /*1、在接收到服务器的数据后,查找"Content-Range: bytes"字段,并返回数据地址*/
- /*2、在接收到服务器的数据后,查找"\r\n"字段,并返回数据地址*/
- /*3、获取长度*/
- len = strstr(strstr(recv_data,"Content-Range: bytes"),"\r\n") - strstr(recv_data,"Content-Range: bytes");
- /*4、减去 "Content-Range: bytes"字段的长度,即为我们需要获取字段的长度 */
- /*5、对字段分割,一般获取数据格式为0-2048/6540*/
- /*6、用strstr函数,获得”/6540“字段,之后地址加一,字符转换即可*/
- strncpy(data_buf, strstr(recv_data,"Content-Range: bytes")+strlen("Content-Range: bytes"),len-strlen("Content-Range: bytes"));
- /*7、0-2048/6540 其中0 = 拷贝 0-2048/6540,长度为len 减去-2048/6540字段*/
- strncpy(cache_buf, strstr(data_buf,"-")+1,strlen(strstr(data_buf,"-")) - strlen(strstr(data_buf,"/")));
- return atoi(cache_buf);
- }
复制代码
|
|