我知道这是一个常见问题,对于将 std::string 或 String^ 转换为字节数组以写入流以进行 tcp 通信,我还没有明确的答案。
这是我尝试过的
bool CTcpCommunication::WriteBytes(const std::string& rdatastr)
{
bool retVal = false;
try
{
if (static_cast<NetworkStream^>(stream) != nullptr)
{
array<Byte>^data = System::Text::Encoding::ASCII->GetBytes(rdatastr);
stream->Write( data, 0, data->Length );
}
}
catch(Exception^)
{
// Ignore, just return false
}
return retVal;
}
我知道 GetBytes 在这里不起作用,我还检查了将 std:string 转换为 .NET String 的编组选项,但没有发现任何问题。有人可以帮我解决这个问题吗?