Есть задача, с бинарной системы исчисления провести корреляцию, то есть с 1001
должно выйти 10010110
. Каждая единица это 10, а ноль это 01. Я написал/нашел программу на, консольной на С++ котороя делает это
#include "pch.h"
#include <iostream>
#include <string>
int main()
{
std::string str;
std::cout << "Enter a binary code\n";
std::cin >> str;
for (int i = 0; i < str.length(); i++)
if (str[i] == '1') str.insert(++i, "0");
else str.insert(++i, "1");
std::cout << str << std::endl;
system("pause");
return 0;
}
А вот мне постучали по голове и сказали что надо сделать в winforms на том же С++. Пытаясь перевести это всё на форму я столкнулся с проблемами
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
String^ str = textBox1->Text;
for (int i = 0; i < str->Length; i++)
if (str[i] == '1') str->Insert(++i, "0");
else str->Insert(++i, "1");
textBox2->Text = str;
}
На кнопку я повесил обработчик который должен сразу выводить конечный результат, но выводит вводимое число, как так, и что я делаю неправильно? Вроде как по логике сначала происходит операция а потом пере-инициализация.
str->Insert
не изменяет объект str
, а только возвращает результат.
for (int i = 0; i < str->Length; i++)
if (str[i] == '1') str = str->Insert(++i, "0");
else str = str->Insert(++i, "1");
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть участок кода, который в определённых случаях генерирует ошибку, которую мне никак не удаётся понятьСвязана она с освобождением...
пытаюсь учить сетевое программирование, но пока слабо получаетсяЕсли с TCP или UDP вопрос не возникает, то с raw не могу разобраться