Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Форум АНТИЧАТ
> Программирование
> С/С++, C#, Delphi, .NET, Asm
|
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.
|
|
 |
|

27.06.2009, 22:08
|
|
Познающий
Регистрация: 04.01.2009
Сообщений: 94
Провел на форуме: 404716
Репутация:
145
|
|
http://www.crossplatform.ru/sources/qt/
http://qtlib.ru/
посмотри
|
|
|

27.06.2009, 22:34
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
Сообщение от M@X Dr.Akyla
Решил заняться изучением qt. Скачал 2 книги начал читать и понял, что примеров в них очень мало. Нужны простые исходники на qt4 показываюшие работу слотов и сигналов и обработку получаемых данных. В идеали просой калькулятор.
вот я давненько как-то что-то типа менеджера задач, который одним махом список процессов убивает, написал.
екзешник и длл-ки там же в архиве.
мои копирайты на прогу сохранять.
EDIT:звиняюсь, нерабочую версию залил вот перезалил рабочую
klick
вирусов нет, отвечаю
т.к. в моей проге инфы о слотах и сигналах практически нет, вот примеры на qt3, для понимания qt4 тоже пойдут. мне когдато помогли.
klick
Последний раз редактировалось BrainDeaD; 27.06.2009 в 23:04..
|
|
|

30.06.2009, 16:30
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
написал функцию для склейки строк. возвращает указатель на новую полученную строку.
PHP код:
char *split(char *s1, char *s2)
{
int j = 0;
char *p = new char;
while(*s1 != '\0')
p[j++] = *s1++;
j--;
while(*s2 != '\0')
p[j++] = *s2++;
return p;
}
вот использование:
PHP код:
int main()
{
char s1[] = "str1";
char s2[] = "str2";
char *s3 = new char;
s3 = "teerr";
char *p = split(s1, s2);
char *p2 = split("ololo", "str");
char *p3 = split(s3, "miha");
cout << "1: " << p << endl << "2: " << p2 << endl << "3: " << p3;
return 1;
}
склеиваются шесть разных строк.
первые две нормально,
но что за хрень творится с третьей я понять не в состоянии:
PHP код:
s3 = "teerr";
char *p3 = split(s3, "miha");
cout << p3; // выводит: teerrmiha + 3 квадратика непечаемых символов!
s3 = "teerrS";
char *p3 = split(s3, "miha");
cout << p3; // выводит: teerrmiha -- буква S - исчезла, но и лишние символы тоже
добавляю один символ к первой строке и результат почти правильный. иначе - три непечатаемых символа. как это понять?
|
|
|

30.06.2009, 16:43
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
память выделяется под 1 символ
аналогично
иначе - три непечатаемых символа. как это понять?
ты также не завершаешь строки '\0'
Код:
while(*s2 != '\0')
p[j++] = *s2++;
p[j] = '\0';
также лишняя строка
строки передавай как константные раз для общего результата ты используешь отдельный массив, а не первую строку.
П.С. написал немного не в ту тему, пиши лучше сюда _https://antichat.ru/thread40894.html
Последний раз редактировалось razb; 30.06.2009 в 17:04..
|
|
|

30.06.2009, 17:17
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
также лишняя строка
Код:
j--;
странно. если её убрать - между стpок появляется непечатаемый символ
Последний раз редактировалось Дикс; 30.06.2009 в 17:37..
|
|
|

30.06.2009, 20:10
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
для строк в C++ есть специяальный тип string, зачем гемороиться с char*?
|
|
|

30.06.2009, 21:07
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
так и знал что спросят
ну хочу я сам сделать такое, я только учу С++ 
|
|
|

01.07.2009, 01:05
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
поизучай этот код.
Код:
char *split(char *s1, char *s2)
{
char *p = new char[strlen(s1) + strlen(s2) + 1];
char* result = p;
while( *p++ = *s1++ ) ;
p--;
while( *p++ = *s2++ ) ;
return result;
}
пара замечаний - не делай выделение памяти в одной функции, а освобождение в другой. или же делай класс, чтобы скрыть управление памятью(собсно тот самый string так и работает). если без классов - то первую строку переносишь в место вызова и добавляешь третий параметр - строка которая будет содержать результат.
второе - p[j++] = *s2++;
если уж делаешь через разыменовывние - делай все через разыменование. или все через индекс. а то этот код заставляет лишний раз на нем сфокусироваца.
Последний раз редактировалось Ra$cal; 01.07.2009 в 01:08..
|
|
|

01.07.2009, 01:32
|
|
Познающий
Регистрация: 20.02.2009
Сообщений: 86
Провел на форуме: 183326
Репутация:
7
|
|
http://4italka.okis.ru/
Классный сайт практически только хорошие книги сам прочел большую часть
книги по программированию на языках Assembler,Delphi,Pascal.DirectX 9.OpenGL,C++,C#,Cи,Java2,Visual Basic,Visual Studio.NET,Perl, Хакинг
|
|
|

01.07.2009, 06:58
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
хак дельфи книги скачать бесплатно..
писал бы уж сразу ключевиками. тема не для этого создана!
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Books Python
|
FRAGNATIC |
PHP, PERL, MySQL, JavaScript |
1 |
01.11.2009 18:20 |
|
Начинаем программировать на Ruby, TCL
|
alextoun |
PHP, PERL, MySQL, JavaScript |
10 |
08.09.2008 03:15 |
|
Начинаем программировать на PHP, Python, AS3
|
nerezus |
PHP, PERL, MySQL, JavaScript |
0 |
19.08.2008 10:42 |
|
Мультимедийные Обучающие Курсы TeachPro Java
|
VenTeL |
ПО для Web разработчика |
8 |
24.04.2008 15:38 |
|
Словарь Java-терминов
|
foreva |
Чужие Статьи |
0 |
08.02.2005 16:28 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|