私は C++ 開発者で、先週 wpf に移行しました。私は C++ アプリで sprintf を何度も使用してきましたが、今では C# と同等のものを用意する必要があります。これが私がやったことですC ++です:
char t_str[4] = {};
for(int i = 0; i < 4; i++)
{
sprintf(t_str, "%02X", buffer[i]);
m_apiResponse[i]->setText(String(t_str));
}
とbuffer[0] = 20;
buffer[1] = 30;
buffer[2] = 40;
buffer[3] = 50;
はm_apiResponse
テキストボックスです。
次のようにC#でこれを行いました:
Byte[] t_str = new Byte[4];
for (int i = 0; i < 4; i++)
{
string bufstring = String.Format("{0:02}", buffer[i]);
t_str = Encoding.UTF8.GetBytes(bufstring);
}
Response1Box = Convert.ToString(t_str[0]);
Response2Box = Convert.ToString(t_str[1]);
Response3Box = Convert.ToString(t_str[2]);
Response4Box = Convert.ToString(t_str[3]);
ここで、ResposeBox はバインド先のテキスト ボックスです。
// Description of Response1Box
private string _Response1Box;
public string Response1Box
{
get
{
return _Response1Box;
}
set
{
_Response1Box = value;
OnPropertyChanged("Response1Box");
}
}
buffer[64]
バイト[]です。
私のC ++メソッドが行う期待される答えが得られません。これは正しい方法ですか:string bufstring = String.Format("{0:02}", buffer[i]);
t_str = Encoding.UTF8.GetBytes(bufstring);
どこが間違っていますか???
助けてください :)