отсутствуют экземпляры перегруженная функция strstr

Рейтинг: 0Ответов: 0Опубликовано: 05.02.2023

Собстна проблемка)

Изначальный код на "С"

#include <Windows.h>
#include <shlwapi.h>

BOOL APIENTRY DllEntryPoint(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH) {
        DisableThreadLibraryCalls(hModule);
        TCHAR* cmdline = GetCommandLine();
        if (StrStr(cmdline, "-one") || StrStr(cmdline, "-one1") || StrStr(cmdline, "-one2")) {
            LoadLibrary("client.dll");
        }
    }
    return TRUE;
}

Переписал на "С++" (хоть и разница не большая)

#include <Windows.h>
#include <shlwapi.h>



BOOL APIENTRY DllEntryPoint(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH) {
        DisableThreadLibraryCalls(hModule);
        TCHAR* cmdline = GetCommandLine();
        if (strstr(cmdline, "-one") || strstr(cmdline, "-one1") || strstr(cmdline, "-one2")) {
            LoadLibrary("client.dll");
        }
    }
    return TRUE;
}

И получил ошибки

E0304   отсутствуют экземпляры перегруженная функция "strstr", соответствующие списку аргументов
E0304   отсутствуют экземпляры перегруженная функция "strstr", соответствующие списку аргументов
E0304   отсутствуют экземпляры перегруженная функция "strstr", соответствующие списку аргументов
E0167   аргумент типа "const char *" несовместим с параметром типа "LPCWSTR"

Нигде так и не нашёл подробный разбор решения данных ошибок, прошу Вашей помощи!

Ответы

Ответов пока нет.