vb.net - c++将字符串转换为字节以通过tcp发送

标签 vb.net visual-c++ c++-cli tcp bitconverter

我正在尝试将 28 个字符的字符串发送到远程 IP 地址和端口。我已使用以下代码片段在 vb.net 中成功完成此操作:

Dim swon As String = "A55A6B0550000000FFFBDE0030C8"
Dim sendBytes As [Byte]()
sendBytes = Encoding.ASCII.GetBytes(swon)
netStream.Write(sendBytes, 0, sendBytes.Length)

我现在必须将其转换为 C++,并且到目前为止有以下内容:

char *swon = "A55A6B0550000000FFFBDE0030C8";
array<Byte>^ sendBuffer = gcnew array<Byte>(bufferSize);
sendBuffer = BitConverter::GetBytes( swon );
tcpStream->Write(sendBuffer, 0, sendBuffer->Length);

但我现在卡住了。我确定我遗漏了一个简单的语法错误,但我想不通!

澄清一下,我没有收到错误,但我认为字符串没有正确转换为字节,因为当我转换回来时,我只得到一个 '01'

干杯, 克里斯

最佳答案

我不明白为什么您不只是在++/CLI 代码中使用完全相同的 .Net 框架类。例如。 System::String 用于swonEncoding::ASCII 生成字节数组。

您在 VB 中所做的任何事情都可以直接映射到 C++/CLI,而无需使用不同的类 - 这对您来说是最简单的移植。当您在 MSDN 在线时,只需选择 C++ View 即可获取您想要执行的操作的示例。在此页面上试试,例如:http://msdn.microsoft.com/en-us/library/system.text.encoding.ascii.aspx

关于vb.net - c++将字符串转换为字节以通过tcp发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332734/

相关文章:

.net - (反向?)树枚举

mysql - Insert语句向数据库添加数据

winapi - 如何使用 WinInet 发送 HTTPS 请求?

visual-studio-2010 - 视觉C++ 2010 : Changes to MSVC runtime deployment (no more SxS with manifest)

mysql - 用 VB 中的数据库表填充组合框

c# - 是否可以编写在 .NET 上运行的恶意软件?

c++ - Visual Studio 链接器错误

C++ 如何使用 onClick 事件创建文本框?

c# - C++/CLI 中的安全转换 - 相当于 C#'s "as"?

c++ - 如何初始化和打印 std::wstring?