以前にも同様の質問をしました。しかし、私はまだ c++ のエンコーディングに問題があります。私はできるだけ問題を説明しようとします。
TCP 経由で c# サービスと通信する c++ クライアントがあります。ここで、サービスからのメッセージをメッセージ ボックス (Win32 API) に表示する必要があります。C# サービスによって送信されるバイトは、UTF-8 でエンコードされます。
重要なのは、c++ クライアントは Windows システムでのみ実行されるということです。
これは、バイトを受信してテキストを表示するコードです。
char buffer[1024];
int receivedBytes = recv(socketHandle, buffer, sizeof(buffer) - 1, 0);
char str[receivedBytes];
for (int index = 0; index < receivedBytes; index++)
{
str[index] = buffer[index];
}
MessageBox(mainWindow, (LPCTSTR)str, (LPCTSTR) "Fehler", MB_OK|MB_ICONERROR);
テキストに üäö のようなチャットタクターが含まれている場合、それらはメッセージ ボックスに正しく表示されません。メッセージを C++ で UTF-8 文字列として受信するにはどうすればよいですか? char[] を UTF-8 文字列に変換する可能性はありますか?
助けてくれてthx
トビ