msg db "123", 10, 0
if(bind(...) != 0)
SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL);
bind(sListen, (SOCKADDR*)&addr, sizeof(addr));
int err = WSAGetLastError();
if (err != 0) {
string code = to_string(err());
dlg->AddLog(string("Error bind: " + code).c_str());
return -1;
}
if (listen(sListen, SOMAXCONN) != 0) {
string code = to_string(WSAGetLastError());
dlg->AddLog(string("Error listen: " + code).c_str());
return -1;
}
Error listen: 10022
if (listen(sListen, SOMAXCONN) != 0) {
string code = to_string(WSAGetLastError());
dlg->AddLog(string("listen error. Code error: " + code).c_str());
return -1;
}
listen error. Code error: 10022
#pragma pack(push, 1)
- 1, а где 2, 3, 4? Я просто не совсем понимаю. Вот допустим у меня структура:int age;
bool alive;
char name[52];
char lastname[52];
Это я уже сам додумал.
В общем обрезаем всё до нужного символа, потом сохраняем один символ в al, а потом из al в eax.
К примеру, есть
str db 'abc'
В
lea eax, [text+0]
мы обрезаем его до 0 элемента - "abc"Далее в
mov byte al, [eax]
мы из eax сохраняем только один байт в al, полчаем 'a'И возвращаем его в eax
mov byte [eax], al
Готово. Мы взяли 1 символ из строки. Тем самым если вместо 0 поставим 1 то возьмём второй символ, и т.д.