Как конвертировать 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;