1

こんにちは私はVS2010とMBCSを使用しています。unsigned charをLPCSTRに変換する方法を教えてもらえますか?申し訳ありませんが、私はc++を初めて使用します...:)ありがとう

これは失敗しているコードです:

    hr = MsiSetProperty(hInstall, "LOCKCODE",  szLockCode);
    ExitOnFailure(hr, "failed to set LOCKCODE");

szLockCode変換する必要のある変数です。

4

2 に答える 2

3

unsigned char配列(unsigned char szLockCode[10]たとえば)は、技術的にはすでにLPCSTRです。すでにアレイを使用している場合、変換は問題ではありません。そうでない場合は、アレイが必要です。単一の文字列が必要な場合は、長さ2の配列が必要です。文字は最初の位置(szLockCode[0])に配置され、値0は2番目の位置(szLockCode[1])に配置されます。

于 2012-09-25T11:19:05.487 に答える
-1

次のようなエラーメッセージが表示される可能性があります。

パラメーター3を「constchar*」から「LPCWSTR」に変換できません

これを回避するには、タイプ変換を行う必要があります。

hr = MsiSetProperty(hInstall, "LOCKCODE",  (LPCSTR)szLockCode);

または、文字列の前にLプレフィックスを使用します。

LPCSTR szLockCode = L"Some error";
hr = MsiSetProperty(hInstall, "LOCKCODE",  szLockCode );

LPCSTRが何を表すかについての良い説明は次のとおりです。

LPCSTR、LPCTSTR、LPTSTR

于 2012-09-25T12:55:52.660 に答える