在.c ++中将.html文件读入字符串

时间:2012-06-09 18:07:10

标签: c++ visual-studio-2010 file

我正在寻找如何在不使用cURL的情况下将.html文件中的一个字符读取到字符串/ bool(0或1)(在其他语言中需要一行或两行)。如果有人可以告诉我,请提出一个简单的提示做什么(我应该包括哪些等等),因为我开始在Visual Studio 10中使用c ++。

此致 我:)

@edit: 我已经做了什么: 汇编

1>------ Rebuild All started: Project: cURL, Configuration: Debug Win32 ------
1>  stdafx.cpp
1>  cURL.cpp
1>  cURL.vcxproj -> C:\Users\Lukasz\Documents\Visual Studio 2010\Projects\cURL\Debug\cURL.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

但在调试之后:

The procedure entry point sasl_errdetail could not be located in the dynamic link library libsasl.dll

我的主文件.cpp:

// cURL.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include <curl.h>
#include <cstdio>
#include <string>


std::string buffer;

size_t curl_write( void *ptr, size_t size, size_t nmemb, void *stream)
{
buffer.append((char*)ptr, size*nmemb);
return size*nmemb;
}

int main(int argc, char **argv)
{
CURL *curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com"); 
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_write);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
fwrite( buffer.c_str(), buffer.length(), sizeof(char), stdout);
return 0;
}
enter code here

3 个答案:

答案 0 :(得分:1)

我有同样的问题!!

从dlldll.com下载了libsasl.dll并收到同样的错误。我假设他们有旧版本的DLL,所以我下载了更新的版本,它就像一个魅力。

我从来没有http://theetrain.ca/tech/files/libsasl.dll

的版本

答案 1 :(得分:0)

  1. 打开文件。
  2. 使用fgetc或istream :: read函数。
  3. 将字符转换为正确的bool值。
  4. 关闭文件。
  5. HTML文件可以像文本文件一样阅读。

    解析HTML文件是另一个问题。

答案 2 :(得分:0)

只需在服务器/客户端设置中接收html,就需要连接到套接字并处理来自套接字的消息。

这是一个在Windows上引入套接字的完美示例:

Programming Windows TCP Sockets in C++ for the Beginner

如果你想完全避免学习套接字并且能够很好地控制正在发生的事情,你可以只使用各种URL下载器:

Download a URL in C

但如果您需要速度超过其他任何目的,使用URLOpenStream可能会给您最快的结果。

所以在你有一个接收html文本的套接字之后,你就可以解析html并将你找到的内容转换成适当的变量。