Сравните HTML из libcurl с текстом из файла - PullRequest
0 голосов
/ 17 мая 2019

Я использую libcurl для подключения к веб-сайту и получаю HTML, я также использую LibTidy для извлечения текста. Моя цель - проверить, находится ли предложение из текстового файла внутри HTML.

Благодаря LibTidy у меня есть весь текстовый файл как один символ *. Я использую: char * strstr (const char * one, const char * two) для сравнения двух строк. Первый - это строка из синтаксического анализа libcurl и libTidy, а второй - строка из текстового файла.

Когда я использую функцию strstr (..), в качестве результата я получаю NULL. Используя отладчик, покажите, что две строки не кодируются одинаково.

enter image description here

Я попытался выяснить, где была проблема со строкой, возникшей из-за интернет-соединения. И я попробовал другой пример кода, чтобы попытаться это исправить.

Код, предоставленный веб-сайтом libcurl, вызывает у меня ту же проблему, память char * плохо закодирована, и я не могу ее правильно сравнить. https://curl.haxx.se/libcurl/c/getinmemory.html

Я также попробовал код здесь: https://stackoverflow.com/a/2329792/10160890, и char * ptr имеют ту же проблему.

Я ожидаю, что смогу сравнить строку из libcurl и строку из текстового файла.

1 Ответ

0 голосов
/ 17 мая 2019

Нет необходимости конвертировать.Любой текст ASCII - это текст UTF-8, поэтому вы просто ищете его как есть, используя strstr.В этом и заключается весь смысл UTF-8.

...