Unicode文字列をクライアントに送信するために、以下のコードを変更しました。C++でwinsock経由でUnicode文字列を送信
私はtxtにUnicode文字が含まれていると、クライアントで私は何のデータも受け取れないのですか?
bool write_to_descriptor(int desc, wchar_t *txt, int length)
//bool write_to_descriptor(int desc, char *txt, int length)
{
int iStart;
int nWrite;
int nBlock;
if (length <= 0)
length = strlen(txt);
for (iStart = 0; iStart < length; iStart += nWrite)
{
nBlock = UMIN(length - iStart, 4096);
if ((nWrite = send(desc, txt + iStart, nBlock, 0)) < 0)
{ perror("Write_to_descriptor"); return FALSE; }
}
return TRUE;
}
'length = strlen(txt);'は 'wchar_t'を正しく表示しません。コンパイラはあなたに警告していませんか?そして 'txt + iStart'はおそらくあなたがここで好きなことをしないでしょう。 – user786653
受信コードも参照する必要があります。 – Neil
最も確実です。 – JosephH