使用C++程序获取新浪行情数据的方法
在日常开发中我们经常会使用到行情数据,很多的时候我们根据一个基准数据区构造行情,但是随着时间的推移然来构造的数据与真实行情数据之间的差距越来越大。
本问以AG1309为例子来说明,如何使用C++程序来获取新浪行情数据。(说明如果合约过期获取的数据将未空,此时请更换合约信息)。
好了,在这里就不再将废话,直接给出源码供大家学习!
// HttpDataTest.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h" #include #include #include #include #include #include #define MAXSIZE 1024 #pragma comment(lib, "Wininet.lib") void urlopen(_TCHAR*); std::string GetSubBtFind(char* lpsz); int Token(const char* pSep, char* pStr, std::vector& refvec); int _tmain(int argc, _TCHAR* argv[]) { urlopen(_T("http://hq.sinajs.cn/list=AG1309")); system("pause"); return 0; } void urlopen(_TCHAR* url) { HINTERNET hSession = InternetOpen(_T("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if(hSession != NULL) { HINTERNET hHttp = InternetOpenUrl(hSession, url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0); if (hHttp != NULL) { wprintf_s(_T("%s\n"), url); char Temp[MAXSIZE]; ULONG Number = 1; while (Number > 0) { InternetReadFile(hHttp, Temp, MAXSIZE - 1, &Number); Temp[Number] = '\0'; std::string str= GetSubBtFind(Temp); ; char szpstr[1024]; strcpy(szpstr, str.c_str()); std::vector vec; Token(",", szpstr, vec); printf("%s\n", Temp); for(int i=0; i { printf("%s\n", vec[i]); } } InternetCloseHandle(hHttp); hHttp = NULL; } InternetCloseHandle(hSession); hSession = NULL; } } std::string GetSubBtFind(char* lpsz) { std::string scrStr=lpsz; std::string str_temp=""; int len=strlen(lpsz); int beginPos=scrStr.find("\""); scrStr=scrStr.substr(beginPos+1,len); int endPos=scrStr.find("\""); str_temp=scrStr.substr(0,endPos); return str_temp; } int Token(const char* pSep, char* pStr, std::vector& refvec) { for(char* outer = strtok(pStr, pSep) ; NULL != outer; outer = strtok(NULL, pSep)) { refvec.push_back(outer); } return 0; }
上述代码在vs2008下运行结果如下:
以上就是本文的全部内容,希望对大家熟练应用C++程序抓取数据有所帮助
上一篇:如何在C++中实现按位存取
栏 目:C语言
下一篇:c++中容器之总结篇
本文标题:使用C++程序获取新浪行情数据的方法
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/2939.html
您可能感兴趣的文章
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言没有round函数 round c语言
- 01-10使用OpenGL实现3D立体显示的程序代码
- 01-10深入理解C++中常见的关键字含义
- 01-10使用C++实现全排列算法的方法详解
- 01-10深入Main函数中的参数argc,argv的使用详解
- 01-10c++中inline的用法分析
- 01-10用C++实现DBSCAN聚类算法
- 01-10全排列算法的非递归实现与递归实现的方法(C++)
- 01-10C++大数模板(推荐)
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10SublimeText编译C开发环境设置
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11ajax实现页面的局部加载
- 01-10使用C语言求解扑克牌的顺子及n个骰子