|
这是一个查询股票行情的小程序:
#include <iostream>
#include <windows.h>
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
using namespace std;
int main()
{
TCHAR szUrl[] = TEXT("http://qt.gtimg.cn/q=sz000858,sh600298,sz002368");
HINTERNET hInternet1 = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, NULL);
HINTERNET hInternet2 = InternetOpenUrl(hInternet1, szUrl, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, NULL);
DWORD dwMaxDataLength = 4890;
PBYTE pBuf = (PBYTE)malloc(dwMaxDataLength * sizeof(TCHAR));
DWORD dwReadDataLength = NULL;
BOOL bRet = TRUE;
ZeroMemory(pBuf, dwMaxDataLength * sizeof(TCHAR));
bRet = InternetReadFile(hInternet2, pBuf, dwMaxDataLength, &dwReadDataLength);
InternetCloseHandle(hInternet2);
InternetCloseHandle(hInternet1);
printf("Buffer=%s", pBuf);
return 0;
}
运行后结果如下:
问题是:为什么第三个参数返回值只有2行? 难道printf最多只能输出这么多字符吗? |
上一篇: 数据库方面的 if exists下一篇: 控件重绘问题
|