c ++ Преобразование строки в байты для отправки по TCP
-
27-10-2019 - |
Вопрос
Я пытаюсь отправить строку из 28 символов на удаленный IP-адрес и порт.Я успешно сделал это в vb.net, используя следующие фрагменты кода:
родовое словоТеперь мне нужно преобразовать это в C ++, и пока у меня есть следующее:
родовое словоно на этом я застреваю.Я уверен, что упустил простую синтаксическую ошибку, но не могу ее понять!
Чтобы уточнить, я не получаю сообщение об ошибке, но я не думаю, что строка конвертируется в байты правильно, так как при обратном преобразовании я просто получаю '01'
С уважением, Крис
Решение
Я не понимаю, почему вы не используете одни и те же классы инфраструктуры .Net в своем коде ++ / CLI.например.System::String
для swon
, Encoding::ASCII
для создания массива байтов.
Все, что вы делали в VB, можно напрямую отобразить на C ++ / CLI без использования разных классов - это самый простой порт для вас.Когда вы находитесь в сети MSDN, просто выберите представление C++
, чтобы получить примеры того, что вы хотите сделать.Попробуйте это на этой странице, например: http://msdn.microsoft.com/en-us/library/system.text.encoding.ascii.aspx
Другие советы
Стив прав в том, что ту же логику можно воспроизвести в C ++.Но код генерирующего кода C ++ уже является ASCII, преобразование не требуется.Просто копия - это все, что нужно.
родовое слово