Есть файл 2.html. В нем есть значение "Ваш IP". Считываю построчно и пытаюсь найти в строке необходимое значение.
#include <windows.h>
#include <iostream>
#include <string>
#include <fstream>
#include <locale.h>
using namespace std;
int main() {
setlocale(LC_ALL, "");
bool t = false;
size_t temp;
string str;
char buf[2048];
const char* substr = "Ваш IP";
ifstream file;
file.open("2.html");
while (!file.eof()) {
getline(file, str, '\n');
ZeroMemory(buf, 2048);
strcpy(buf, str.c_str());
t = OemToAnsi(buf, buf);
str = (string)buf;
temp = str.find(substr);
if (temp != string::npos)
break;
}
file.close();
cout << str << endl;
Sleep(3000);
return 0;
}
При выполнении цикла в отладчике видно, что из файла считываются каракули в тех строках, где есть русские буквы. Как я их только не пытался перевести. Не выходит. Поэтому и не ищет значение. Как решить эту задачу ?
(файл 2.html получен скачиванием страницы http://2ip.ru)
substr переобъявлял через массив char и переводил в OEM. Не ищет
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости