Я использую Win32 API для C в моей программе, чтобы читать с последовательного порта, это кажется довольно низким уровнем.Предполагая, что нет лучшего способа чтения с последовательного порта, функция CreateFile включает аргумент LPCWSTR, который я прочитал, и похоже, что LPCWSTR является типом wchar_t.Во-первых, я не очень понимаю разницу между wchar и char, я читал материал об ansi и unicode, но я не знаю, как это применимо к моей ситуации.
Моя программа использует функцию main, а не wmain, и ей необходимо получить аргумент из командной строки и сохранить его в переменной wchar_t.Теперь я знаю, что мог бы сделать это, если бы просто сделал строку на месте;
wchar_t variable[1024];
swprintf(variable,1024,L"%s",L"randomstringETC");
Потому что похоже, что L преобразует массивы char в массивы wchar.Однако это не работает, когда я это делаю;
wchar_t variable[1024];
swprintf(variable,1024,L"%s",Largv[1]);
, очевидно, потому что это синтаксическая ошибка.Я предполагаю, что мой вопрос, есть ли простой способ конвертировать нормальные строки в строки wchar_t?
Или есть способ полностью избежать этой вещи в Юникоде и читать из последовательного интерфейса другим способом, используя C на Windows ..