-1

我正在使用 libcurl 连接到一个网站,并获取 HTML,我还使用 LibTidy 来提取文本。我的目的是验证文本文件中的句子是否在 HTML 中。

感谢 LibTidy,我将所有文本文件都作为一个字符 *。我正在使用: char *strstr(const char *one, const char *two) 来比较两个字符串。第一个是来自 libcurl 和 libTidy 解析的字符串,第二个是来自文本文件的字符串。

当我使用函数 strstr(..) 时,结果为 NULL。使用调试器向我表明这两个字符串不是以相同的方式“编码”的。

在此处输入图像描述

我试图找到 Internet 连接导致的字符串的问题所在。我尝试了不同的代码示例来尝试修复它。

libcurl网站给出的代码,给我同样的问题,char *memory编码不好,无法正确比较。 https://curl.haxx.se/libcurl/c/getinmemory.html

我也尝试了这里的代码:https : //stackoverflow.com/a/2329792/10160890,char *ptr 也有同样的问题。

我希望能够比较来自 libcurl 的字符串和来自文本文件的字符串。

4

1 回答 1

0

无需转换。任何 ASCII 文本都是UTF-8 文本,因此您只需使用strstr. 这几乎就是 UTF-8 的全部意义所在。

于 2019-05-17T20:13:36.240 回答