RLibC++内存DeflateGZip算法数据压缩.docx
- 文档编号:6850108
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:33
- 大小:24.73KB
RLibC++内存DeflateGZip算法数据压缩.docx
《RLibC++内存DeflateGZip算法数据压缩.docx》由会员分享,可在线阅读,更多相关《RLibC++内存DeflateGZip算法数据压缩.docx(33页珍藏版)》请在冰点文库上搜索。
RLibC++内存DeflateGZip算法数据压缩
aix主机的cpu使用率信息统计工具demo,AJAX获取城市select下拉框,ajax页面提交请求开始和结束操作js通用,AndoridStudio迅雷快传下载地址
androiddbutils的简化版,AndroidNDKjavaString转换成Cchaviewpager的自动循环,手动循环,常用时间格式转换代码,Android连接网络的代码
实现程序自动升级到安装,android处理全局异常,解析apk图标/名称并创建快捷方式
statusEnumdeletes(keyTypekey){
inti;
nodeType*update[MAXLEVEL+1],*x;
/*******************************************
*deletenodecontainingdatafromlist*
*******************************************/
/*findwheredatabelongs*/
x=list.hdr;
for(i=list.listLevel;i>=0;i--){
while(x->forward[i]!
=NIL&&compLT(x->forward[i]->key,key))
x=x->forward[i];
update[i]=x;
}
x=x->forward[0];
if(x==NIL||!
compEQ(x->key,key))returnSTATUS_KEY_NOT_FOUND;
/*adjustforwardpointers*/
for(i=0;i<=list.listLevel;i++){
if(update[i]->forward[i]!
=x)break;
update[i]->forward[i]=x->forward[i];
}
free(x);
//android下载封装类
/*adjustheaderlevel*/
while((list.listLevel>0)
&&(list.hdr->forward[list.listLevel]==NIL))
list.listLevel--;
returnSTATUS_OK;
}
//Android应用的真正入口
statusEnumfind(keyTypekey,recType*rec){
inti;
nodeType*x=list.hdr;
/*******************************
*findnodecontainingdata*
*******************************/
for(i=list.listLevel;i>=0;i--){
while(x->forward[i]!
=NIL&&compLT(x->forward[i]->key,key))
x=x->forward[i];
}
x=x->forward[0];
if(x!
=NIL&&compEQ(x->key,key)){
*rec=x->rec;
returnSTATUS_OK;
}
returnSTATUS_KEY_NOT_FOUND;
}
voidinitList(){
inti;
/**************************
*initializeskiplist*
**************************/
if((list.hdr=(nodeType*)malloc(
sizeof(nodeType)+MAXLEVEL*sizeof(nodeType*)))==0){
printf("insufficientmemory(initList)\n");
exit
(1);
}
for(i=0;i<=MAXLEVEL;i++)
list.hdr->forward[i]=NIL;
list.listLevel=0;
}
intmain(intargc,char**argv){
inti,maxnum,random;
recType*rec;
keyType*key;
statusEnumstatus;
[代码][GoogleGo]代码
packagemain
import(
"io/ioutil"
"net/http"
"net/"
"fmt"
"encoding/json"
)
//----------------------------------
//黄金数据调用示例代码-聚合数据
//在线接口文档:
www/docs/29
//----------------------------------
constAPPKEY="*******************"//您申请的APPKEY
funcmain(){
//1.上海黄金交易所
Request1()
//2.上海期货交易所
Request2()
//3.银行账户黄金
Request3()
}
//1.上海黄金交易所
funcRequest1(){
//请求地址
juhe:
="web:
8080/finance/gold/shgold"
//初始化参数
param:
=.Values{}
//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参
param.Set("key",APPKEY)//APPKey
param.Set("v","")//JSON格式版本(0或1)默认为0
//发送请求
data,err:
=Get(juhe,param)
iferr!
=nil{
fmt.Errorf("请求失败,错误信息:
\r\n%v",err)
}else{
varnetReturnmap[string]interface{}
json.Unmarshal(data,&netReturn)
ifnetReturn["error_code"].(float64)==0{
fmt.Printf("接口返回result字段是:
\r\n%v",netReturn["result"])
}
}
}
//2.上海期货交易所
funcRequest2(){
//请求地址
juhe:
="web:
8080/finance/gold/shfuture"
//初始化参数
param:
=.Values{}
//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参
param.Set("key",APPKEY)//APPKey
param.Set("v","")//JSON格式版本(0或1)默认为0
//发送请求
data,err:
=Get(juhe,param)
iferr!
=nil{
fmt.Errorf("请求失败,错误信息:
\r\n%v",err)
}else{
varnetReturnmap[string]interface{}
json.Unmarshal(data,&netReturn)
ifnetReturn["error_code"].(float64)==0{
fmt.Printf("接口返回result字段是:
\r\n%v",netReturn["result"])
}
}
}
//3.银行账户黄金
funcRequest3(){
//请求地址
juhe:
="web:
8080/finance/gold/bankgold"
//初始化参数
param:
=.Values{}
//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参
param.Set("key",APPKEY)//APPKey
//发送请求
data,err:
=Get(juhe,param)
iferr!
=nil{
fmt.Errorf("请求失败,错误信息:
\r\n%v",err)
}else{
varnetReturnmap[string]interface{}
json.Unmarshal(data,&netReturn)
ifnetReturn["error_code"].(float64)==0{
fmt.Printf("接口返回result字段是:
\r\n%v",netReturn["result"])
}
}
}
//get网络请求
funcGet(apistring,params.Values)(rs[]byte,errerror){
var*.
err=.Parse(api)
iferr!
=nil{
fmt.Printf("解析错误:
\r\n%v",err)
returnnil,err
}
//如果参数中有中文参数,这个方法会进行Encode
.RawQuery=params.Encode()
resp,err:
=http.Get(.String())
iferr!
=nil{
fmt.Println("err:
",err)
returnnil,err
}
deferresp.Body.Close()
returnioutil.ReadAll(resp.Body)
}
//post网络请求,params是.Values类型
funcPost(apistring,params.Values)(rs[]byte,errerror){
resp,err:
=http.PostForm(api,params)
iferr!
=nil{
returnnil,err
}
deferresp.Body.Close()
returnioutil.ReadAll(resp.Body)
}
代码描述:
基于GO的黄金数据接口调用代码实例
关联数据:
黄金数据
[代码][C#]代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Net;
usingSystem.IO;
usingXfrog.Net;
usingSystem.Diagnostics;
usingSystem.Web;
//----------------------------------
//黄金数据调用示例代码-聚合数据
//在线接口文档:
www/docs/29
//代码中JsonObject类下载地址:
/download/gcm3206021155665/7458439
//----------------------------------
namespaceConsoleAPI
{
classProgram
{
staticvoidMain(string[]args)
{
stringappkey="*******************";//配置您申请的appkey
//1.上海黄金交易所
string1="web:
8080/finance/gold/shgold";
varparameters1=newDictionary
parameters1.Add("key",appkey);//你申请的key
parameters1.Add("v","");//JSON格式版本(0或1)默认为0
stringresult1=sendPost(1,parameters1,"get");
JsonObjectnewObj1=newJsonObject(result1);
StringerrorCode1=newObj1["error_code"].Value;
if(errorCode1=="0")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj1);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj1["error_code"].Value+":
"+newObj1["reason"].Value);
}
//2.上海期货交易所
string2="web:
8080/finance/gold/shfuture";
varparameters2=newDictionary
parameters2.Add("key",appkey);//你申请的key
parameters2.Add("v","");//JSON格式版本(0或1)默认为0
stringresult2=sendPost(2,parameters2,"get");
JsonObjectnewObj2=newJsonObject(result2);
StringerrorCode2=newObj2["error_code"].Value;
if(errorCode2=="0")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj2);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj2["error_code"].Value+":
"+newObj2["reason"].Value);
}
//3.银行账户黄金
string3="web:
8080/finance/gold/bankgold";
varparameters3=newDictionary
parameters3.Add("key",appkey);//你申请的key
stringresult3=sendPost(3,parameters3,"get");
JsonObjectnewObj3=newJsonObject(result3);
StringerrorCode3=newObj3["error_code"].Value;
if(errorCode3=="0")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj3);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj3["error_code"].Value+":
"+newObj3["reason"].Value);
}
}
///
///Http(GET/POST)
///
///
///
///
///
staticstringsendPost(string,IDictionary
{
if(method.ToLower()=="post")
{
HttpWebRequestreq=null;
HttpWebResponsersp=null;
System.IO.StreamreqStream=null;
try
{
req=(HttpWebRequest)WebRequest.Create();
req.Method=method;
req.KeepAlive=false;
req.ProtocolVersion=HttpVersion.Version10;
req.Timeout=5000;
req.ContentType="application/x-www-form-encoded;charset=utf-8";
byte[]postData=Encoding.UTF8.GetBytes(BuildQuery(parameters,"utf8"));
reqStream=req.GetRequestStream();
reqStream.Write(postData,0,postData.Length);
rsp=(HttpWebResponse)req.GetResponse();
Encodingencoding=Encoding.GetEncoding(rsp.CharacterSet);
returnGetResponseAsString(rsp,encoding);
}
catch(Exceptionex)
{
returnex.Message;
}
finally
{
if(reqStream!
=null)reqStream.Close();
if(rsp!
=null)rsp.Close();
}
}
else
{
//创建请求
HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(+"?
"+BuildQuery(parameters,"utf8"));
//GET请求
request.Method="GET";
request.ReadWriteTimeout=5000;
request.ContentType="text/html;charset=UTF-8";
HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();
StreammyResponseStream=response.GetResponseStream();
StreamReadermyStreamReader=newStreamReader(myResponseStream,Encoding.GetEncoding("utf-8"));
//返回内容
stringretString=myStreamReader.ReadToEnd();
returnretString;
}
}
///
///组装普通文本请求参数。
///
///
///
staticstringBuildQuery(IDictionary
{
StringBuilderpostData=newStringBuilder();
boolhasParam=false;
IEnumerator
while(dem.MoveNext())
{
stringname=dem.Current.Key;
stringvalue=dem.Current.Value;
//忽略参数名或参数值为空的参数
if(!
string.IsNullOrEmpty(name))//&&!
string.IsNullOrEmpty(value)
{
if(hasParam)
{
postData.Append("&");
}
postData.Append(name);
postData.Append("=");
if(encode=="gb2312")
{
postData.Append(HttpUtility.Encode(value,Encoding.GetEncoding("gb2312")));
}
elseif(encode=="utf8")
{
postData.Append(HttpUtility.Encode(value,Encoding.UTF8));
}
else
{
postData.Append(value);
}
hasParam=true;
}
}
returnpostData.ToString();
}
///
///把响应流转换为文本。
///
///
///
///
staticstringGetResponseAsString(HttpWebResponsersp,Encodingencoding)
{
System.IO.Streamstream=null;
StreamReaderreader=null;
try
{
//以字符流的方式读取HTTP响应
stream=rsp.GetResponseStream();
reader=newStreamReader(stream
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RLibC 内存 DeflateGZip 算法 数据压缩
![提示](https://static.bingdoc.com/images/bang_tan.gif)