HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 20.01.2010, 14:49
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
С нами: 10437270

Репутация: 117
По умолчанию

первый элемент его равен "A",
++drive[0]; прибавим к нему 1 и получим B
 
Ответить с цитированием

  #2  
Старый 20.01.2010, 16:18
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

C++ Builder.
Собственно, обстоятельства заставили сесть за эту штуку.И тут же возник вопрос,как осуществляется работа с сетью? Загуглил на тему,нашел множество упоминаний про компонент idHTTP.А теперь собственно вопросы.Так как на дельфи я писал последний раз года два назад,и это был калькулятор,то никаких компонентов использовать не приходилось.И соответствнно,где их брать - я понятия не имею.Как подключить этот самый idHTTP к C++ Builder? Встроеный ли он? Откуда его скачать,и как подключить к коду? Я так понял,работа на Builder, сводиться к объектам и классам,тоесть и вызов будет примерно такой:
Код:
iddHTTP->UserAgent = 'Bla bla';
Простая попытка вызова вот так вот,этого самого компонента,привела к ошибки компилятора.так что мне нужен совет.В сети таких ответов нет,ну или я их не на гуглил.Спассбо большое.
 
Ответить с цитированием

  #3  
Старый 20.01.2010, 17:03
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от m0Hze  
C++ Builder.
Собственно, обстоятельства заставили сесть за эту штуку.И тут же возник вопрос,как осуществляется работа с сетью? Загуглил на тему,нашел множество упоминаний про компонент idHTTP.А теперь собственно вопросы.Так как на дельфи я писал последний раз года два назад,и это был калькулятор,то никаких компонентов использовать не приходилось.И соответствнно,где их брать - я понятия не имею.Как подключить этот самый idHTTP к C++ Builder? Встроеный ли он? Откуда его скачать,и как подключить к коду? Я так понял,работа на Builder, сводиться к объектам и классам,тоесть и вызов будет примерно такой:
Код:
iddHTTP->UserAgent = 'Bla bla';
Простая попытка вызова вот так вот,этого самого компонента,привела к ошибки компилятора.так что мне нужен совет.В сети таких ответов нет,ну или я их не на гуглил.Спассбо большое.
Нашел тематический форум,там я нашел ответ,правда немного иной,но переделал под себя,и все заработало.Удивительно.
Так вот новый вопрос.Наипростейший код,вешаем на кнопку по клику событие:
Код:
TIdHTTP *http = new TIdHTTP(NULL);
        Label1->Caption =  http->Get("http://yandex.ru");
и все бы хорошо,но тыкаем на кнопку,и получаем ошибку.Мол, "302 moved permanently!".А вопрос следующий,как не получать ошибку,а получить непосредственно содержимое страницы,как это работает при получении www.yandex.ru?
То есть, в лейбл должно попасть примрно следующее:
Код:
302 Moved
И никаких ошибок.Работаю с буилдером как вы могли понять в первый раз.
 
Ответить с цитированием

  #4  
Старый 20.01.2010, 19:19
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

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

  #5  
Старый 20.01.2010, 21:45
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
С нами: 9963746

Репутация: 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..
 
Ответить с цитированием

  #6  
Старый 20.01.2010, 22:59
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

realloc не предназначен для перевыделения памяти, выделенной new.

http://www.cplusplus.com/reference/clibrary/cstdlib/realloc/
 
Ответить с цитированием

  #7  
Старый 20.01.2010, 23:39
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
С нами: 9963746

Репутация: 180


По умолчанию

Цитата:
Сообщение от Ra$cal  
realloc не предназначен для перевыделения памяти, выделенной new.

http://www.cplusplus.com/reference/clibrary/cstdlib/realloc/
неповеришь, но именно от тудова и взял ее. У меня туговато с англ, если не для изменения размера массива то, пилять, для чего ж она ?
 
Ответить с цитированием

  #8  
Старый 21.01.2010, 01:45
rudvil
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
С нами: 9320830

Репутация: 86
По умолчанию

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

  #9  
Старый 21.01.2010, 16:47
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
С нами: 9963746

Репутация: 180


По умолчанию

Цитата:
Сообщение от rudvil  
ptr - Указатель на блок памяти созданный с помощью "malloc"
ясен хрен что во времена C не было оператора new. Но оно работает. И для увеличения и для уменьшения.
 
Ответить с цитированием

  #10  
Старый 20.01.2010, 23:25
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Программисты! Ответьте на вопросы выше
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.