 |
|

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

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

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

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

09.09.2009, 23:33
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
С нами:
8795069
Репутация:
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
С нами:
10386906
Репутация:
599
|
|
какой нах VirtualAlloc O_o на худой конец malloc, или new для c++.
|
|
|

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

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

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

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