• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 使用C++程序获取新浪行情数据的方法

使用C++程序获取新浪行情数据的方法

作者:邵明 字体:[增加 减小] 来源:互联网 时间:2017-05-28

邵明 通过本文主要向大家介绍了c++入门经典小程序,c++小游戏程序,c++程序设计教程,超级玛丽c++程序,c++雷达程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在日常开发中我们经常会使用到行情数据,很多的时候我们根据一个基准数据区构造行情,但是随着时间的推移然来构造的数据与真实行情数据之间的差距越来越大。

本问以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;
}
</div>

上述代码在vs2008下运行结果如下:

以上就是本文的全部内容,希望对大家熟练应用C++程序抓取数据有所帮助

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • c++ 端口扫描程序实现案例
  • 学好C++必须做到的50条 绝对经典!
  • 在C++程序中开启和禁用Windows设备的无线网卡的方法
  • 深入解析C++程序中激发事件和COM中的事件处理
  • 使用C++程序获取新浪行情数据的方法
  • 探究在C++程序并发时保护共享数据的问题
  • C++抽奖程序实现方法
  • C++键盘记录程序代码
  • C++实现闹钟程序的方法

相关文章

  • 2017-05-28VC定时器的用法实例详解
  • 2017-05-28学习C和C++的9点经验总结
  • 2017-05-28C语言实现选择排序、直接插入排序、冒泡排序的示例
  • 2017-05-28C++中求余运算符(%)示例详解
  • 2017-05-28关于C++中0是十进制还是八进制的问题
  • 2017-05-28C++通过msxml调用webservice示例分享
  • 2017-05-28详解C++编程中的sizeof运算符与typeid运算符
  • 2017-05-28stringstream操纵string的方法总结
  • 2017-05-28C语言中读取时间日期的基本方法
  • 2017-05-28Win10中VC2013安装Unit test组件出现问题解决方案

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解C++ 拷贝构造函数和赋值运算符
    • c++异常处理机制示例及详细讲解
    • 如何在C++中通过模板去除强制转换
    • C++获取本机MAC,IP,MASK地址的方法
    • c++中的4种类型转化方式详细解析
    • c语言中return与exit的区别浅析
    • C语言中 int main(int argc,char *argv[])的两个参数详解
    • C语言静态链表和动态链表
    • 深入分析C++中类的大小
    • C++使struct对象拥有可变大小的数组(详解)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有