我在我的程序中使用 C 的 win32 api 从串行端口读取,这似乎是相当低级的东西。假设没有更好的从串行端口读取的方法,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 字符串?
或者有没有办法完全避免这种Unicode的东西,并在Windows上使用C以另一种方式从串行读取..