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

20.01.2010, 19:19
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от m0Hze
Нашел тематический форум,там я нашел ответ,правда немного иной,но переделал под себя,и все заработало.Удивительно.
Так вот новый вопрос.Наипростейший код,вешаем на кнопку по клику событие:
Код:
TIdHTTP *http = new TIdHTTP(NULL);
Label1->Caption = http->Get("http://yandex.ru");
и все бы хорошо,но тыкаем на кнопку,и получаем ошибку.Мол, "302 moved permanently!".А вопрос следующий,как не получать ошибку,а получить непосредственно содержимое страницы,как это работает при получении www.yandex.ru?
То есть, в лейбл должно попасть примрно следующее:
И никаких ошибок.Работаю с буилдером как вы могли понять в первый раз.
Апики,+ к тому же, интересует получение страницы с помощью сокетов, и непосредвственным побайтовым считыванием.Тоесть что то вроде
PHP код:
while(...) read = fread(sock,1024);
Спасибо.
|
|
|

20.01.2010, 21:45
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме: 1180737
Репутация:
180
|
|
Что произойдет если сделать так
A - указатель на динамически созданный массив размерности X
A = (int*) realloc(A, Y*sizeof(int));
Если Y < X.
Уменьшиться размер массива и затрется последний элемент (что собсно и нужно) или что то неопределенное ?
Вот то что я хочу сделать
Код:
int main(){
int *mas = new int [5];
int mas1[]={1,2,3,4,5};
for (int i=0; i<5; i++)
mas[i] = mas1[i];
mas = (int*) realloc(mas, 3*sizeof(int));
for (int i=0; i<5; i++)
cout<<mas[i]<<" ";
cout<<endl;
}
Оно выводит 1 2 3 4 5
Но я не могу проверить выводит оно это потому что:
1. Память не успела затереться но за границу массива мы уже вышли
2. Граница массива осталась на прежнем месте
Последний раз редактировалось cupper; 20.01.2010 в 22:13..
|
|
|

20.01.2010, 22:59
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
realloc не предназначен для перевыделения памяти, выделенной new.
http://www.cplusplus.com/reference/clibrary/cstdlib/realloc/
|
|
|

20.01.2010, 23:25
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Программисты! Ответьте на вопросы выше 
|
|
|

20.01.2010, 23:39
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме: 1180737
Репутация:
180
|
|
Сообщение от Ra$cal
realloc не предназначен для перевыделения памяти, выделенной new.
http://www.cplusplus.com/reference/clibrary/cstdlib/realloc/
неповеришь, но именно от тудова и взял ее. У меня туговато с англ, если не для изменения размера массива то, пилять, для чего ж она ?
|
|
|

21.01.2010, 01:39
|
|
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме: 1654818
Репутация:
117
|
|
думаю сделать класс,
в котором будет char переменной длины от 1 до 10. и я буду создавать массив из этого класса. тоесть будет много new char[1-10]. это нормально? или может есть другие варианты.
и потом как лучше будет заполнять этот char? меня смущает memcpy(..1)
|
|
|

21.01.2010, 01:45
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от cupper
неповеришь, но именно от тудова и взял ее. У меня туговато с англ, если не для изменения размера массива то, пилять, для чего ж она ?
void * realloc ( void * ptr, size_t size );
ptr - Pointer to a memory block previously allocated with malloc.
ptr - Указатель на блок памяти созданный с помощью "malloc"
|
|
|

21.01.2010, 02:47
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
zeppe1in
зачем? постановку задачи то пиши. а то реверсить чужое мышление - задача весьма нетривиальная. не то что программы писать.
|
|
|

21.01.2010, 03:35
|
|
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме: 1654818
Репутация:
117
|
|
Сообщение от Ra$cal
zeppe1in
зачем? постановку задачи то пиши. а то реверсить чужое мышление - задача весьма нетривиальная. не то что программы писать.
ну вообще дизасмлю ИЛ код. вот собственно подумал сделать класс где будет хранится опкод, тип опкода, ну и всё такое, что бы дальше мне удобно было работать со всем этим.
Или наверно лучше сделать,просто массив, а в нём адрес опкода, его размер, и тип.
Последний раз редактировалось zeppe1in; 21.01.2010 в 03:49..
|
|
|

21.01.2010, 07:37
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2zeppe1in
если все делаешь на классах то и опкод храни как класс
если нет -> то массив структур. Придерживайся единообразия )
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|