プログラムで C 用の win32 api を使用してシリアル ポートから読み取っていますが、これはかなり低レベルのもののようです。シリアル ポートから読み取るより良い方法がないと仮定すると、CreateFile 関数には LPCWSTR 引数が含まれます。私が読んだところ、LPCWSTR は wchar_t 型のようです。まず、wchar と char の違いがよくわかりません。ANSI と Unicode については読んだことがありますが、それが自分の状況にどのように当てはまるかはよくわかりません。
私のプログラムは wmain ではなく main 関数を使用しており、コマンド ラインから引数を取得して 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を使用して別の方法でシリアルから読み取る方法はありますか..