我曾尝试编写一个简单的程序来从网站获取信息.我无法编译,因为我得到InternetReadFile,InternetOpenUrl等的LNK2019错误,例如
1> GetInternetInfo.obj:错误LNK2019:函数_main中引用的未解析的外部符号_ imp _InternetReadFile @ 16
我认为这意味着我没有定义这些函数,我没有包含正确的库.我认为包括#include会修复它,但它似乎没有帮助.我在使用C++的Visual Studio 2010上运行它.以下是我的计划.任何帮助表示赞赏.
#include <string>
#include <iostream>
#include <fstream>
#include <windows.h>
#include <wininet.h>
#include <winsock.h>
#include <stdio.h>
#include <stdarg.h>
using namespace std;
int main()
{
HINTERNET hOpen, hURL;
LPCWSTR NameProgram = L"Webreader"; // LPCWSTR == Long Pointer to Const Wide String
LPCWSTR Website;
char file[101];
unsigned long read;
//Always need to establish the internet connection with this funcion.
if ( !(hOpen = InternetOpen(NameProgram, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 )))
{
cerr << "Error in …Run Code Online (Sandbox Code Playgroud) 我写了一个简单的程序来从雅虎财务中获取股票价格.读取数据的循环提前截断(并且结束了网站上的数据显示的位置,而不是完整下载到excell文件的正确日期).所以我在循环中输入一个cout命令来尝试调试和瞧,它工作正常!
那么为什么使用cout函数会改变程序功能呢?有任何想法吗?下面是代码.(我发现了两个相关的帖子,但仍然无法弄明白,例如"可以以某种方式改变变量?"和"C++程序中的奇怪错误:删除打印输出中断程序")
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <windows.h>
#include <wininet.h>
using namespace std;
int main()
{
HINTERNET hOpen, hURL;
LPCWSTR NameProgram = L"Webreader"; // LPCWSTR == Long Pointer to Const Wide String
LPCWSTR Website;
char file[101];
int i;
string filename;
unsigned long read;
filename = "data.txt";
ofstream myFile(filename);
if (! myFile)
{
cout < "Error opening file\n";
}
if ( !(hOpen = InternetOpen(NameProgram, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 )))
{
cerr << "Error in opening internet" << …Run Code Online (Sandbox Code Playgroud)