Не могу понять, в чем проблема. При чтении русских символов через wifstream из файла в wstring все равно появляются не русские символы, а бред какой-то(где).
Исходный код:
void READER_THREAD(bool *READER_THREAD_CLOSE, std::wstring* FILE_PATH, unsigned int* lastError,
std::vector<std::wstring>* MESSAGES_FROM_LOG, std::mutex* MESSAGES_FROM_LOG_ACCESS, std::mutex* LAST_ERROR_ACCESS)
{
std::wifstream LOG_FILE;
int lastSize = -1;
LOG_FILE.open((*FILE_PATH));
if (!LOG_FILE.is_open())
{
(*LAST_ERROR_ACCESS).lock();
(*lastError) = ERR_WRONG_FILENAME;
(*LAST_ERROR_ACCESS).unlock();
return;
}
LOG_FILE.close();
int x = 0; std::wstring buffer;
while (!(*READER_THREAD_CLOSE))
{
std::this_thread::sleep_for(std::chrono::milliseconds(THREAD_DELAY));
if (SizeOFile((*FILE_PATH)) != lastSize)
{
x = 0;
LOG_FILE.open((*FILE_PATH));
(*MESSAGES_FROM_LOG_ACCESS).lock();
int MESSAGE_FROM_LOG_SIZE = (*MESSAGES_FROM_LOG).size();
(*MESSAGES_FROM_LOG_ACCESS).unlock();
while (x < MESSAGE_FROM_LOG_SIZE - 1) if (getline(LOG_FILE, buffer)) x++;
if (x >= MESSAGE_FROM_LOG_SIZE - 1)
{
(*MESSAGES_FROM_LOG_ACCESS).lock();
while (getline(LOG_FILE, buffer)) (*MESSAGES_FROM_LOG).push_back(buffer);
(*MESSAGES_FROM_LOG_ACCESS).unlock();
lastSize = SizeOFile((*FILE_PATH));
}
LOG_FILE.close();
}
else std::this_thread::sleep_for(std::chrono::milliseconds(THREAD_DELAY));
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Развернул на localhost сервер + поставил базу postgreSQLпервая на 8080 вторая на 5432
Я создавал потоки испextends Thread, решил заменить его на Runnable
И как ее удалить? И если я закоммичу проект, то история попадет на GitHub?