Как конвертировать wchar_t* в LPCWSTR в C++

Я нуб в C++. Мне нужно открыть файл через существующее приложение, с которым я получил работу.

Проблема в том, что приложение не может открыть файл. Путь должен быть LPCWSTR тип данных, и приложение передает это с первым аргументом main() функция, которая объявлена ​​как wchar_t*,

Еще больше запутал меня, человек, который дал мне приложение, сказал мне, что я должен привести строку в IntPtr при кормлении путь к LPCWSTR, Я читал, что нет необходимости преобразовывать это, оно будет приведено напрямую.

Что я должен сделать, чтобы использовать правильный формат пути? Я уже пробовала L"C:\\....", L"C:\..." и многое другое, а также некоторые тесты конверсии.

Пожалуйста, посмотрите на код:

int wmain(int argc, wchar_t* argv[])
{
    locale::global(std::locale(""));
    if(argv[1] != NULL)
    {
        wcout<<L"******************************************************"<<endl
            <<L"******************** Sample Begin ********************"<<endl
            <<L"******************************************************"<<endl;

        // Initialize       
        long ret = DLLGXFA_ERR_Unknown;     
        LPCWSTR path = argv[1]; 
        DWORD handle = 0;

        // Open file

        wcout<<endl<<L"***** DllGXFAOpenFile *****"<<endl;
        ret = ::DllGXFAOpenFile(path, &handle);
        wcout<<endl<<path<<L" Open Status:"<<ret<<endl;

0 ответов

Другие вопросы по тегам