ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

12.07.2008, 01:05
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2SVAROG
Во-первых, это c-style код, несмотря на iostream
Во-вторых ... млин ... слов нету ... за такой код надо расстреливать на месте, и не делать скидок даже на недавность порыва изучения, тк это уже не нубство, а ... я даже не знаю как назвать. Такое впечатление, что ты наискосок просмотрел мануал и забил на него. Чего стоят &buf[0] или брейки в начале ветвления проверки ошибок.
В-третьих, после беглого просмотра этого "творения" выяснилось, что логика "несколькo" другая. Ты не понимаешь что пишешь? Разберись в логике программы, составь алгоритм на бумажке, досконально проверь его и уже тогда переноси его в код.
Я не разбираюсь в плюсах, но помоему подключенный в stdafx.h stdio.h перекрывает iostream.h, поэтому не работает cout.
А вообще основная ошибка в логике. Сервером ты пытаешься отправить строку, но отправляется один байт. Потом ты это количество же пытаешься отправить на сервер. Там, если бы работал cout выводился только один символ.
Т.е. в клиенте надо изменить send так
Код:
send(my_sock, buff,strlen(buff), 0); // Будет посылать на сервер столько байт, сколько нужно
ЗЫ Внимательней на код посмотрел, сервер нормально отсылает это у тебя в while бардак. Ты что нибудь о приоритетности операций слышал? Или эту главу в книге пролистал? И то что выражение в while будет выполнятся справо налево ни сном ни духом. И следовательно в nsize будет заносится не кол-во полученных байт, а результат выражения != ...
Весь код яркая иллюстрация к тому, как нельзя делать ни в коем разе. До*баться можно к каждой строке.
Бери K&R или Прата и марш изучать язык нормально!
|
|
|
Функция MesageBox() не отображает цифры |

12.07.2008, 15:43
|
|
Новичок
Регистрация: 25.06.2007
Сообщений: 10
Провел на форуме: 17391
Репутация:
1
|
|
Функция MesageBox() не отображает цифры
Я создаю проект в VS на mfc. Дважда щелкаю по кнопе ok и вписываю туда
updateData(true) и MessageBox() . Добавляю на форму текстовое поле. Ему присваиваю перменную.
Когда перменная CString она отображается в MessageBox() . но стооит тип перменной изменить на int как срузуже все перестает работать. Я пробывал отобразить в MessageBox() перменные не привязанные к форме(в том числе char). Ничего не получается. Как решить данную проблему?
|
|
|

12.07.2008, 17:02
|
|
Познающий
Регистрация: 30.04.2007
Сообщений: 77
Провел на форуме: 393625
Репутация:
50
|
|
rm24 как я понял надо в MessageBox() вывести переменную типа int ? или из любой переменной не типа не CString ?
|
|
|

12.07.2008, 19:18
|
|
Новичок
Регистрация: 25.06.2007
Сообщений: 10
Провел на форуме: 17391
Репутация:
1
|
|
У меня две проблемы:
1. Переменные добавляемые текстовому полю не отображааются в MessageBox() (все кроме Cstring)
Можно приемер с перменной типа int
2. Невозможно вывести любую обычную перменную в MessageBox()
Тоже можно с int
|
|
|

13.07.2008, 01:40
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от rm24
Я создаю проект в VS на mfc. Дважда щелкаю по кнопе ok и вписываю туда
updateData(true) и MessageBox() . Добавляю на форму текстовое поле. Ему присваиваю перменную.
Когда перменная CString она отображается в MessageBox() . но стооит тип перменной изменить на int как срузуже все перестает работать. Я пробывал отобразить в MessageBox() перменные не привязанные к форме(в том числе char). Ничего не получается. Как решить данную проблему?
MessageBox-у, передается указатели к Си строка для caption и текста => надо переобразить переменную в тип указатель к Cи строки....
Код:
int i = 200;
char szTemp[100];
MessageBox(0,itoa(i,szTemp,10),"Message",MB_OK);
Последний раз редактировалось z01b; 13.07.2008 в 02:30..
|
|
|

13.07.2008, 02:27
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
Подскажите как в VC получить md5 хэш строки, желательно с примером.
Последний раз редактировалось Smapt; 13.07.2008 в 02:29..
|
|
|

13.07.2008, 03:05
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2Smapt
ну во-первых VC не язык, а компилятор с IDE =)
это просто ) нужно реализовать алгоритм md5 )
либо заюзать готовые библиотеки.
вот к примеру найдено за 5 минут поиска (не проверял)
http://www.codenet.ru/progr/bcb/md5.php
|
|
|

13.07.2008, 03:10
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от izlesa
2Smapt
ну во-первых VC не язык, а компилятор с IDE =)
это просто ) нужно реализовать алгоритм md5 )
либо заюзать готовые библиотеки.
вот к примеру найдено за 5 минут поиска (не проверял)
http://www.codenet.ru/progr/bcb/md5.php
Нужно будет немного доработать, т.к. пример заточен под борландский конпелятор =)
ЗЫ В VS, AnsiString-a нету =)
|
|
|

13.07.2008, 10:48
|
|
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме: 390892
Репутация:
60
|
|
Тут алгоритмы шифрования/хэширования (язык си) с примерами использования с сайта xyssl.org (который сейчас почему-то не доступен), в том числе есть md5.
Последний раз редактировалось SlyBit; 13.07.2008 в 11:15..
|
|
|

14.07.2008, 15:38
|
|
Познающий
Регистрация: 06.08.2006
Сообщений: 68
Провел на форуме: 430286
Репутация:
50
|
|
Прошу помочь мне с кодом.
Прогарммирую под Linux на Glade 3.4.5
Возникла небольшая проблема, Есть в одной папке 2 программы с исходниками, Нужно в сорцах первой проги написать команду что бы при нажатии на клавишу запускалась другая программа, Перерыл уже кучу инфы по Си и GTK+
Очень прошу мне помочь.
(fopen () , open () не подходит, т.к. нужно запустить прогу не в скрытом режиме, а как будто юзверь запустил ее самостоятельно кликом, окон никаких почему то не выскакивает при использовании данных функций)
UPD
Нашел
#include <stdlib.h>
int system(const char * string);
Но не вкурил как юзать. может кто нить разъяснит?
Последний раз редактировалось Baron Night; 14.07.2008 в 21:46..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|