170 похожих чатов

Парни, такой вопрос. Падает прога на данном участке кода,

может кто объяснить, почему?

asio::io_service io_service;

std::vector<asio::ip::tcp::socket> sockets{};

asio::ip::tcp::acceptor acceptor(io_service, asio::ip::tcp::endpoint(asio::ip::address::from_string("127.0.0.1"), 59999));

std::array<unsigned char, 65536> temp_buffer;

std::string temp_str_buff;

std::thread first([&temp_str_buff, &stop_receiving_data, &sockets, &temp_buffer, &counter, &acceptor, &io_service]
{
while (1)
{
if (stop_receiving_data != true)
{
sockets.emplace_back(io_service);
asio::ip::tcp::socket& socket{ sockets.back() };

acceptor.accept(socket);

socket.read_some(asio::buffer(temp_buffer));

std::array<unsigned char, 65536>::iterator it = std::find(temp_buffer.begin(), temp_buffer.end(), '*');

std::copy(temp_buffer.begin(), temp_buffer.begin() + std::distance(temp_buffer.begin(), it), std::back_inserter(temp_str_buff));

std::string label;
std::string encrypted_label_and_choice;

std::string delimeter = "\n";

size_t pos = 0;

while ((pos = temp_str_buff.find(delimeter)) != std::string::npos)
{
label = temp_str_buff.substr(0, pos);
temp_str_buff.erase(0, pos + delimeter.length());
encrypted_label_and_choice = temp_str_buff.substr(0, temp_str_buff.size()-1);
break;
}

std::cout << label << " --- " << encrypted_label_and_choice << endl << endl;

counter.get_label_and_endcrypted_lbl_and_choice().push_back({ label,encrypted_label_and_choice });

socket.close();
}
else
{
break;
}
}

});
system("pause");
stop_receiving_data = true;

acceptor.close();
first.join();

7 ответов

12 просмотров

На pastebin

на pastebin эту портянку, плиз

а где задается значение temp_str_buff? А то там дальше temp_str_buff.size()-1 а на нулевом размере будет бо-бо

Gabriel- Автор вопроса
Егор (Дима)
а где задается значение temp_str_buff? А то там д...

std::copy(temp_buffer.begin(), temp_buffer.begin() + std::distance(temp_buffer.begin(), it), std::back_inserter(temp_str_buff));

Gabriel- Автор вопроса
Alexander N
На pastebin

Есть варианты?

Gabriel
Есть варианты?

А дебаггинг там с брейпоинтами был уже?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта