BYTE name[1000];
私のプロジェクトには、データ型でvisual c++定義された変数があります。私が間違っていなければ、は と同等です。これをに変換したいと思います。nameBYTEBYTEunsigned charunsigned char *LPCTSTR
どうすればいいですか?
BYTE name[1000];
私のプロジェクトには、データ型でvisual c++定義された変数があります。私が間違っていなければ、は と同等です。これをに変換したいと思います。nameBYTEBYTEunsigned charunsigned char *LPCTSTR
どうすればいいですか?
LPCTSTRが定義されているかどうかに基づいて、どちらchar const*かとして定義されます。wchar_t const*UNICODE
が定義されている場合は、 を使用してマルチバイト文字列をワイドUNICODE文字列に変換する必要があります。MultiByteToWideChar
が定義されていない場合UNICODEは、単純なキャストで十分です: .static_cast< char const* >( name )
nameこれは、それがnull で終わる c-stringであると仮定します。その場合、それを定義しBYTEても意味がありません。をどのように操作しているかに基づいて、CHARまたはを使用する必要があります。TCHARname
次のように、「name」変数を CString オブジェクトに直接割り当てることもできます。
CString strName = name;
そして、CString の GetBuffer() またはできれば GetString() メソッドを呼び出すことができます。これは、LPCTSTR を取得するのにより適しています。利点は、CString クラスが必要な変換を自動的に実行することです。Unicode 設定について心配する必要はありません。
LPCTSTR pszName = strName.GetString();