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