使用C++程序獲取新浪行情數(shù)據(jù)的方法
在日常開發(fā)中我們經(jīng)常會使用到行情數(shù)據(jù),很多的時候我們根據(jù)一個基準數(shù)據(jù)區(qū)構(gòu)造行情,但是隨著時間的推移然來構(gòu)造的數(shù)據(jù)與真實行情數(shù)據(jù)之間的差距越來越大。
本問以AG1309為例子來說明,如何使用C++程序來獲取新浪行情數(shù)據(jù)。(說明如果合約過期獲取的數(shù)據(jù)將未空,此時請更換合約信息)。
好了,在這里就不再將廢話,直接給出源碼供大家學習!
// HttpDataTest.cpp : 定義控制臺應(yīng)用程序的入口點。
#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下運行結(jié)果如下:

以上就是本文的全部內(nèi)容,希望對大家熟練應(yīng)用C++程序抓取數(shù)據(jù)有所幫助
相關(guān)文章
C++11中條件標量和互斥鎖應(yīng)用出現(xiàn)死鎖問題
這篇文章主要介紹了C++11中條件標量和互斥鎖應(yīng)用出現(xiàn)死鎖思考,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06
Clion2020.2.x最新激活碼破解版附安裝教程(Mac Linux Windows)
Clion2020增加了很多新特性,修復(fù)了大量bug,大大提高了開發(fā)效率。這篇文章主要介紹了Clion2020.2.x最新激活碼破解版附安裝教程(Mac Linux Windows),需要的朋友可以參考下2020-11-11
C/C++ 獲取Windows系統(tǒng)的位數(shù)32位或64位的實現(xiàn)代碼
這篇文章主要介紹了C/C++ 獲取Windows系統(tǒng)的位數(shù)32位或64位的實現(xiàn)代碼的相關(guān)資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
C語言如何實現(xiàn)順序表(數(shù)據(jù)結(jié)構(gòu))
這篇文章主要介紹了C語言如何實現(xiàn)順序表(數(shù)據(jù)結(jié)構(gòu))問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
C語言數(shù)據(jù)結(jié)構(gòu)之學生信息管理系統(tǒng)課程設(shè)計
這篇文章主要為大家詳細介紹了C語言數(shù)據(jù)結(jié)構(gòu)之學生信息管理系統(tǒng)課程設(shè)計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
淺析結(jié)束程序函數(shù)exit, _exit,atexit的區(qū)別
在一個程序中最多可以用atexit()注冊32個處理函數(shù),這些處理函數(shù)的調(diào)用順序與其注冊的順序相反,也即最先注冊的最后調(diào)用,最后注冊的最先調(diào)用2013-09-09

