Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.09.2009, 22:33
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме: 2823587
Репутация:
106
|
|
Да получай ответ в цикле пока recv не возвратит 0 сам ответ прибавляеш к get и все. Потом переменную возвращаеш как ты тут 0 возвратил
|
|
|

09.09.2009, 22:39
|
|
Участник форума
Регистрация: 06.05.2008
Сообщений: 161
Провел на форуме: 1289087
Репутация:
59
|
|
Сообщение от St0nX
Ничего не помогло 
qt4.5.0 под убунту может чего там настроить надо? Ставил из репозитория.
Только что проверил, на виртуальной убунте, там такие же ошибки были, решилось установкой libqt4, там они разные я поставил все.
|
|
|

09.09.2009, 23:14
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
В продолжении, а как вывести в консольном приложении объект string
cout<< и printf не получается. Может есть стандартные функции?
Сразу чтоб не постить много.
С помощью какой функции можно найти подстроку в объекте string :?
Заранее спасибо.
|
|
|

09.09.2009, 23:25
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
string str;
cout<< str.c_str();
|
|
|

09.09.2009, 23:33
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2Gin
PHP код:
//Резервируем и выделяем побайтно память
buffer = (char *)VirtualAlloc(NULL, 1000, MEM_RESERVE, PAGE_READWRITE);
buffer = (char *)VirtualAlloc(buffer, 1, MEM_COMMIT, PAGE_READWRITE);
//Читаем из сокета побайтно, чтобы быть уверенными, что вся инфа дошла
while(recv(sRemoteSock, &buffer[i], 1, 0))
{
//Если встретили перевод строки, то ппц конец передачи
if(buffer[i] == '\n')
{
buffer[i] = '\0';
printf("[>] Client say : %s\n", buffer);
VirtualFree(buffer, 0 , MEM_RELEASE);
i = 0;
break;
}
else
{
//Выделяем ещё один байт
buffer = (char *)VirtualAlloc(buffer + i++ + 1, 1, MEM_COMMIT, PAGE_READWRITE);
}
}
Как то так ) Тут концом сообщения считается перевод строки (можно переделать). Можно в принципе поблочно считывать, а не побайтно.
|
|
|

09.09.2009, 23:48
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
какой нах VirtualAlloc O_o на худой конец malloc, или new для c++.
|
|
|

09.09.2009, 23:54
|
|
Участник форума
Регистрация: 06.05.2008
Сообщений: 161
Провел на форуме: 1289087
Репутация:
59
|
|
Че то как то сложно, ведь в string'e есть метод find. И к тому же есть функция strtok, которая разбивает строку на лексемы(при первом вызове задается по какому символу разделяем, в последующих вызовах передаем NULL)
И кстати у меня std::cout << переменная_стринг выводится без проблем, т.е. не надо преобразовывать в char по средствам c_str().
Но я всегда подключал <string>
|
|
|

09.09.2009, 23:55
|
|
Участник форума
Регистрация: 25.03.2009
Сообщений: 149
Провел на форуме: 1739459
Репутация:
116
|
|
Скажите пожалуйста как найти серийник к Codegear 2007 никак не найду.
|
|
|

09.09.2009, 23:58
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2Ra$cal
а есть какойнибудь цинус использовать вместо API CRT-функции? Мне так например проще ) хотя да при работе с ANSI строками я буду использовать CRT, да и то не всегда. Так что мне не совсем понятно ваше негодование по этому поводу )
ЗЫ
Да и давайте не будем тут о кросплатформенности ^_____^
Последний раз редактировалось Hiro Protagonist; 10.09.2009 в 00:01..
|
|
|

10.09.2009, 00:06
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
Огромное спасибо, ваша помощь просто не оценима !
(не сочтите за флуд)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|