版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目的:1、帮助大家对单链表的创建、增、删、改、查、逆置、内存释放的了解和熟悉 2、可以结合每一次操作的示意图来帮助理解单链表的操作 3、这个是传统的单链表操作,后面还会更新企业用的通用单链表操作实例代码和Linux系统下的单链表操作思想代码 Server端 / server.cpp : Defines the entry point for the console application./#include "stdafx.h"#include <winsock2.h>#include <Windows.h>#include<conio.h&g
2、t; #pragma comment (lib, "ws2_32.lib") /加载 ws2_32.dll int g_postion = 1;CRITICAL_SECTION gcc; void gotoxy(int x, int y);COORD get_xy();void ClearScreen(void);void ClearScreen1(void);DWORD WINAPI sendCustmer(LPVOID);DWORD WINAPI displayServer(LPVOID); /oc中block的简介 ,OS饼状图,环形图 /PickerView的封装
3、/OC之简单的登陆界面 int main() system("cls"); HANDLE hThread1 = NULL; HANDLE hThread2 = NULL; HANDLE hOut; hOut = GetStdHandle(STD_OUTPUT_HANDLE); WORD att = FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|BACKGROUND_BLUE; SetConsoleTextAttribute(hOut, att); SMALL_RECT rc = 0, 0, 80, 25; SetC
4、onsoleWindowInfo(hOut, true,&rc); SetConsoleTitle(L"The Chat Tools "); ClearScreen(); InitializeCriticalSection(&gcc); hThread2 = CreateThread(NULL, NULL, sendCustmer, NULL, NULL, NULL); hThread1 = CreateThread(NULL, NULL, displayServer, NULL, NULL, NULL); HANDLE tHandle = hThread1
5、, hThread2; WaitForMultipleObjects(2, tHandle, true, INFINITE); DeleteCriticalSection(&gcc); WSACleanup(); CloseHandle(hThread1); CloseHandle(hThread2); DWORD WINAPI sendCustmer(LPVOID lpParameter) WSADATA wsaData; WSAStartup(MAKEWORD(2, 2), &wsaData); /向服务器发起请求 sockaddr_in sockAddr; memset(
6、&sockAddr, 0, sizeof(sockAddr); /每个字节都用0填充 sockAddr.sin_family = PF_INET; sockAddr.sin_addr.s_addr = inet_addr("3"); /sockAddr.sin_addr.s_addr = htonl(INADDR_ANY); sockAddr.sin_port = htons(1234); char SendBufferMAXBYTE; while (1) SOCKET sock; do sock = socket(PF_INET, SOC
7、K_STREAM, IPPROTO_TCP); if (0 != connect(sock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR) Sleep(1); else break; while (true); memset(SendBuffer, 0, MAXBYTE); gotoxy(0, 21); ClearScreen1();#if 0 for (int j = 0; j < 100; +j) printf_s(" "); #endif do gotoxy(0, 21); gets_s (SendBuffer); whi
8、le ( 0 = strlen(SendBuffer) ); gotoxy(0, g_postion); if (g_postion < 20) 代码 Google Go代码 package mainimport ( "io/ioutil" "net/http" "net/" "fmt" "encoding/json") /-/ 黄金数据调用示例代码 聚合数据/ 在线接口文档:www/docs/29/- const APPKEY = "*" /您申请的APPKEY fu
9、nc main() /1.上海黄金交易所 Request1() /2.上海期货交易所 Request2() /3.银行账户黄金 Request3() /1.上海黄金交易所func Request1() /请求地址 juhe :="web:8080/finance/gold/shgold" /初始化参数 param:=.Values /配置请求参数,方法内部已处理encode问题,中文参数可以直接传参 param.Set("key",APPKEY) /APP Key param.Set("v","") /JSON格式
10、版本(0或1)默认为0 /发送请求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("请求失败,错误信息:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",netReturn"result") /2.上海期货交易
11、所func Request2() /请求地址 juhe :="web:8080/finance/gold/shfuture" /初始化参数 param:=.Values /配置请求参数,方法内部已处理encode问题,中文参数可以直接传参 param.Set("key",APPKEY) /APP Key param.Set("v","") /JSON格式版本(0或1)默认为0 /发送请求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("请求失败,错误信息
12、:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",netReturn"result") /3.银行账户黄金func Request3() /请求地址 juhe :="web:8080/finance/gold/bankgold" /初始化参数 par
13、am:=.Values /配置请求参数,方法内部已处理encode问题,中文参数可以直接传参 param.Set("key",APPKEY) /APP Key /发送请求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("请求失败,错误信息:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fm
14、t.Printf("接口返回result字段是:rn%v",netReturn"result") / get 网络请求func Get(api string,params .Values)(rsbyte ,err error) var *. ,err=.Parse(api) if err!=nil fmt.Printf("解析错误:rn%v",err) return nil,err /如果参数中有中文参数,这个方法会进行Encode .RawQuery=params.Encode() resp,err:=http.Get(.Strin
15、g() if err!=nil fmt.Println("err:",err) return nil,err defer resp.Body.Close() return ioutil.ReadAll(resp.Body) / post 网络请求 ,params 是.Values类型func Post(api string, params .Values)(rsbyte,err error) resp,err:=http.PostForm(api, params) if err!=nil return nil ,err defer resp.Body.Close() ret
16、urn ioutil.ReadAll(resp.Body)代码描述:基于GO的黄金数据接口调用代码实例关联数据:黄金数据代码 C#代码 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.IO;using Xfrog.Net;using System.Diagnostics;using System.Web; /-/ 黄金数据调用示例代码 聚合数据/ 在线接口文档:www/docs/29/ 代码中JsonObject类下载地
17、址:/download/gcm3206021155665/7458439/- namespace ConsoleAPI class Program static void Main(string args) string appkey = "*" /配置您申请的appkey /1.上海黄金交易所 string 1 = "web:8080/finance/gold/shgold" var parameters1 = new Dictionary<string, string>(); parameters1.Add("key"
18、, appkey);/你申请的key parameters1.Add("v" , ""); /JSON格式版本(0或1)默认为0 string result1 = sendPost(1, parameters1, "get"); JsonObject newObj1 = new JsonObject(result1); String errorCode1 = newObj1"error_code".Value; if (errorCode1 = "0") Debug.WriteLine(&quo
19、t;成功"); Debug.WriteLine(newObj1); else /Debug.WriteLine("失败"); Debug.WriteLine(newObj1"error_code".Value+":"+newObj1"reason".Value); /2.上海期货交易所 string 2 = "web:8080/finance/gold/shfuture" var parameters2 = new Dictionary<string, string>();
20、 parameters2.Add("key", appkey);/你申请的key parameters2.Add("v" , ""); /JSON格式版本(0或1)默认为0 string result2 = sendPost(2, parameters2, "get"); JsonObject newObj2 = new JsonObject(result2); String errorCode2 = newObj2"error_code".Value; if (errorCode2 = &qu
21、ot;0") Debug.WriteLine("成功"); Debug.WriteLine(newObj2); else /Debug.WriteLine("失败"); Debug.WriteLine(newObj2"error_code".Value+":"+newObj2"reason".Value); /3.银行账户黄金 string 3 = "web:8080/finance/gold/bankgold" var parameters3 = new Dict
22、ionary<string, string>(); parameters3.Add("key", appkey);/你申请的key string result3 = sendPost(3, parameters3, "get"); JsonObject newObj3 = new JsonObject(result3); String errorCode3 = newObj3"error_code".Value; if (errorCode3 = "0") Debug.WriteLine("成
23、功"); Debug.WriteLine(newObj3); else /Debug.WriteLine("失败"); Debug.WriteLine(newObj3"error_code".Value+":"+newObj3"reason".Value); / <summary> / Http (GET/POST) / </summary> / <param name="">请求</param> / <param name=&qu
24、ot;parameters">请求参数</param> / <param name="method">请求方法</param> / <returns>响应内容</returns> static string sendPost(string , IDictionary<string, string> parameters, string method) if (method.ToLower() = "post") HttpWebRequest req = null; H
25、ttpWebResponse rsp = null; System.IO.Stream reqStream = 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 po
26、stData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"); reqStream = req.GetRequestStream(); reqStream.Write(postData, 0, postData.Length); rsp = (HttpWebResponse)req.GetResponse(); Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet); return GetResponseAsString(rsp, encoding)
27、; catch (Exception ex) return ex.Message; finally if (reqStream != null) reqStream.Close(); if (rsp != null) rsp.Close(); else /创建请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create( + "?" + BuildQuery(parameters, "utf8"); /GET请求 request.Method = "GET" request
28、.ReadWriteTimeout = 5000; request.ContentType = "text/html;charset=UTF-8" HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("u
29、tf-8"); /返回内容 string retString = myStreamReader.ReadToEnd(); return retString; / <summary> / 组装普通文本请求参数。 / </summary> / <param name="parameters">Key-Value形式请求参数字典</param> / <returns>编码后的请求数据</returns> static string BuildQuery(IDictionary<string,
30、string> parameters, string encode) StringBuilder postData = new StringBuilder(); bool hasParam = false; IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator(); while (dem.MoveNext() string name = dem.Current.Key; string value = dem.Current.Value; / 忽略参数名或参数值为空的参数 i
31、f (!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"); else if
32、 (encode = "utf8") postData.Append(HttpUtility.Encode(value, Encoding.UTF8); else postData.Append(value); hasParam = true; return postData.ToString(); / <summary> / 把响应流转换为文本。 / </summary> / <param name="rsp">响应流对象</param> / <param name="encoding&q
33、uot;>编码方式</param> / <returns>响应文本</returns> static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) System.IO.Stream stream = null; StreamReader reader = null; try / 以字符流的方式读取HTTP响应 stream = rsp.GetResponseStream(); reader = new StreamReader(stream, encoding);
34、return reader.ReadToEnd(); finally / 释放资源 if (reader != null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); 代码 PHP代码 /* * c远程传输工具 */public function post_c($,$body,$header,$type='POST') $ch = c_init(); c_setopt($ch,COPT_,$); c_setopt($ch,COPT_HEADER,0);/0只要
35、正文 c_setopt($ch,COPT_TIMEOUT,5);/设置超时时间 c_setopt($ch,COPT_CONNECTTIMEOUT,5); /将c_exec()获取的信息以文件流的形式返回,而不是直接输出。 c_setopt($ch,COPT_RETURNTRANSFER,1); /增加header头信息 / array_push($header,'Accept:application/json'); / array_push($header,'Content-Type:application/json'); / array_push($heade
36、r,'http:multipart/form-data'); if(count($body)>0) c_setopt($ch,COPT_POSTFIELDS,$body); if(count($header)>0) c_setopt($ch,COPT_HTTPHEADER,$header); /设置上传文件相关 c_setopt($ch,COPT_FOLLOWLOCATION,true); c_setopt($ch,COPT_MAXREDIRS,3);/递归 c_setopt($ch,COPT_SSL_VERIFYPEER,false);/ 对认证证书来源的检查 c
37、_setopt($ch,COPT_SSL_VERIFYHOST,0);/ 从证书中检查SSL加密算法 switch ($type) case 'GET': c_setopt($ch,COPT_HTTPGET,1); break; case 'POST': c_setopt($ch,COPT_POST,1); break; case 'PUT': c_setopt($ch,COPT_CUSTOMREQUEST,'PUT'); break; case 'DELETE': c_setopt($ch,COPT_CUSTOM
38、REQUEST,'DELETE'); break; 秦皇岛同城购 侭侰侮 /上传文件相关设置 c_setopt($ch,COPT_ENCODING,'gzip'); c_setopt($ch,COPT_USERAGENT,'SSTS Browser/1.0'); c_setopt($ch,COPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');/ 模拟用户使用的浏览器 if(c_errno($ch) return c_err
39、or($ch); $content = c_exec($ch); c_close($ch);/关闭c资源,并且释放系统资源 $result = json_decode($content,true); if(!empty($result) return $result; else return $content; 代码 C/C+代码 /*编译指令$ /opt/sybase/OCS-16_0/bin/cpre64 -m teststu.cp$ cc -m64 -g -DSYB_LP64 -I. -I/opt/sybase/OCS-16_0/include teststu.c /opt/sybase
40、/OCS-16_0/include/sybesql.c -L/opt/sybase/OCS-16_0/lib -lsybct64 -lsybtcl64 -lsybcs64 -lsybcomn64 -lsybintl64 -lsybunic64 -rdynamic -ldl -lnsl -lm -o teststu*/#include <stdio.h> /*建立通讯区域*/EXEC SQL INCLUDE SQLCA;/* * These tokens must be declared in a declare section* because they are used in d
41、eclare sections below.*/EXEC SQL BEGIN DECLARE SECTION;#define TYPESIZE 13#define TIDSIZE 6EXEC SQL END DECLARE SECTION; #define EOLN '0'/* * Forward declarations of the error and message handlers and* other subroutines called from main().*/void error_handler();void warning_handler(); intmai
42、n(int argc, char *argv)/*声明宿主变量*/ EXEC SQL BEGIN DECLARE SECTION; /* storage for login name and password. */ char username30; char sname30; char password30; char server30; EXEC SQL END DECLARE SECTION;/*错误处理*/ EXEC SQL WHENEVER SQLERROR CALL error_handler(); EXEC SQL WHENEVER SQLWARNING CALL warning
43、_handler(); EXEC SQL WHENEVER NOT FOUND CONTINUE;/*连接到 SQL SERVER 服务器*/ /* * Copy the user name and password defined in sybsqlex.h to * the variables declared for them in the declare section. */ strcpy(username, "mymotif"); strcpy(password, "wxwpxh"); strcpy(server, "MYMOTIF
44、VOSTRO145480"); EXEC SQL CONNECT :username IDENTIFIED BY :password using :server; EXEC SQL USE testdb; EXEC SQL DECLARE c1 CURSOR FOR SELECT SNAME FROM STUDENT; EXEC SQL OPEN c1; printf("name in table studentn"); do EXEC SQL FETCH c1 INTO :sname; if (sqlca.sqlcode != 0) break; printf(
45、 "student name = %sn", sname ); while ( 1 ); EXEC SQL CLOSE c1; return(0); /*错误处理程序*/* void error_handler()* * Displays error codes and numbers from the SQLCA and exits with* an ERREXIT status. */voiderror_handler(void) fprintf(stderr, "n* SQLCODE=(%ld)", sqlca.sqlcode); if (sqlc
46、a.sqlerrm.sqlerrml) fprintf(stderr, "n* ASE Error "); fprintf(stderr, "n* %s", sqlca.sqlerrm.sqlerrmc); fprintf(stderr, "nn"); exit(-1); /* void warning_handler()* * Displays warning messages.*/voidwarning_handler(void) if (sqlca.sqlwarn1 = 'W') fprintf(stderr, "n* Data truncated.n"); if (sqlca.sqlwarn3 = 'W') fprintf(stderr, "n* Insufficient
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水生物检疫检验员复试水平考核试卷含答案
- 烯烃转换装置操作工安全规程强化考核试卷含答案
- 矿用润滑油车司机QC管理强化考核试卷含答案
- 压力锅制作工岗前合规考核试卷含答案
- 机制砂石骨料生产工岗位安全管理考核试卷含答案
- 禽兽类动物标本采集制作工岗中质量能力考核试卷含答案
- 机制地毯挡车工岗位知识评优考核试卷含答案
- 钽铌分离工岗前知识竞赛考核试卷含答案
- 催化重整装置操作工道德竞赛考核试卷含答案
- 屋面防水施工工艺流程图详解方案
- T∕JSCTS 71-2025 轨道交通自动扶梯健康监测技术规范
- 人工挖孔桩有限空间作业专项施工方案
- 2026年政府报告考试题及答案
- 初中八年级历史《伟大的历史转折:十一届三中全会与改革开放的开启》教学设计
- GB/T 470-2026锌锭
- 雨课堂学堂在线学堂云《中共中央延安十三年史(陕西师范)》单元测试考核答案
- 2026年中科创达试工程师岗位笔目真题(考试直接用)附答案详解
- 【英语】高一英语完形填空夹叙夹议解题技巧及经典题型及练习题(含答案)
- 气管切开吸痰护理宣教
- 2025国庆节中秋节双节特色实践作业(三)
- 2025年江苏省职业技能等级认定考试(政务服务办事员·四级)历年参考题库含答案详解(5卷)
评论
0/150
提交评论