Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 859
от 26.09.2007, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 481, Экспертов: 62
В номере:Вопросов: 2, Ответов: 4


Вопрос № 102801: Привет всем! Вот простенькая задачка, но не могу сделать (не знаю, как определить, является ли цифра десятков пятеркой и вообще как все это миниатюрненько записать): Написать оператор присваивания, в результате выполнения которого логическая пере...
Вопрос № 102895: Здравствуйте господа программисты! А не подскажите как (если это возможно) в XP перехватить данные по COM-порту. Некая прога общается с прибором, а мне ОЧЕНЬ нужно знать о чем "они говорят". Заранее благодарен, Сергей....

Вопрос № 102.801
Привет всем!
Вот простенькая задачка, но не могу сделать (не знаю, как определить, является ли цифра десятков пятеркой и вообще как все это миниатюрненько записать): Написать оператор присваивания, в результате выполнения которого логическая переменная t получает значение true, если выполняется условие: цифра 5 входит в десятичную запись трехзначного целого цисла k, и значение false иначе.
Ответ нужен срочно. Кто быстро ответит, тому пятерка. :)
Жду с нетерпением!
Отправлен: 20.09.2007, 18:47
Вопрос задал: LexXx (статус: Практикант)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Aristos
Здравствуйте, LexXx!

число десятков в числе равно 5:
bool b = (5 == (n%100)/10);

одна из цифр трехзначного числа равна 5:
bool b = (5 == n%10) || (5 == (n%100)/10) || (5 == n/1000);
---------
нет ничего невозможного
Ответ отправил: Aristos (статус: 6-ой класс)
Ответ отправлен: 20.09.2007, 19:06
Оценка за ответ: 5
Комментарий оценки:
Премного благодарен за ответ! Вы меня выручили! :)

Отвечает: Терсков Сергей
Здравствуйте, LexXx!
А если число не трехзначное ? По моему лучше перевести число в строку и в ней уже производить поиск. Тем более что искомых цифр может быть много... Функция в примере ищет все заданные цифры в числе, и возвращает их в виде массива индексов...

Приложение:

Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 21.09.2007, 04:59


Вопрос № 102.895
Здравствуйте господа программисты!
А не подскажите как (если это возможно) в XP перехватить данные по COM-порту. Некая прога общается с прибором, а мне ОЧЕНЬ нужно знать о чем "они говорят".
Заранее благодарен, Сергей.
Отправлен: 21.09.2007, 14:48
Вопрос задал: Тюрин Сергей Николаевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Maxim V.G.
Здравствуйте, Тюрин Сергей Николаевич!
Дело в том, что СОМ порту может обращаться только одно приложение. Для всех других этот порт будет занят. Поэтому для реализации Вашей задачи надо заставить "некую" прогу обращаться не напрямую с СОМ порту, а к Вашей проге, которая будет считывать исключительно для Вас все данные. Для того чтобы заставить "некую" прогу работать с Вашей прогой можно поставить хук или порыться в сторону драйвера СОМ порта с целью его подмены.
Про работу с ХУКами можно почитать тут: http://rsdn.ru/article/baseserv/HookTools.xml
Про работу с СОМ и другими SerialPort можно почитать тут: http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c5425
Правда последняя на инглише.


---------
Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 4-ый класс)
Ответ отправлен: 21.09.2007, 16:59

Отвечает: Ross
Здравствуйте, Тюрин Сергей Николаевич!

Нужно перехватить API функции ReadFile и WriteFile.
Методика перехвата API методом подмены таблицы импорта подробно описана в книге: Дж. Рихтер "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows"


---------
Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 21.09.2007, 17:55


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.60 от 22.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное