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

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


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

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

Выпуск № 758
от 03.06.2007, 05:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 478, Экспертов: 56
В номере:Вопросов: 3, Ответов: 5


Вопрос № 88896: Здравствуйте. Не могу понять, откуда Диспетчер задач берет значение "Предел" (выделения памяти), которое он отображает в Кб в разделе "Выделение памяти" вкладки "Быстродействие". Перерыл всю PDH.LIB. Там есть параметр &...
Вопрос № 88948: Здравстсвуйте! Вопрос простейший, но я никак не могу понять как это сделать и найти что-то ничего не получается.. в общем, как в Си выделяют или устанасливают один бит в байте. нипример в коде Хэмминга надо каждый бит отдельно приверять,...
Вопрос № 88974: Доброго времени суток! Как из файла прочитать текст (текс на русском) и вывести его на экран. Желательна поддерка Unicode. Это должно напоминать credits в играх или программах. Програмирую в MS VS 2003, WinAPI Жалательно приложить код про...

Вопрос № 88.896
Здравствуйте. Не могу понять, откуда Диспетчер задач берет значение "Предел" (выделения памяти), которое он отображает в Кб в разделе "Выделение памяти" вкладки "Быстродействие". Перерыл всю PDH.LIB. Там есть параметр "\\Процесс(_Total)\\Байт файла подкачки (пик)", но он как правило меньше на 20-40 метров вышеуказанного счетчика (как я понял эти 20-40 метров - выгружаемый страничный пул). Где хранится и откуда можно считать этот предел? PS: просто решил написать что-то типа "монитора производительности" по образу и подобию диспетчера задач :)
Отправлен: 28.05.2007, 06:48
Вопрос задал: Qazzy (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ross
Здравствуйте, Qazzy!

Насколько я знаю, task manager для получения информации о процессах использует NtQuerySystemInformation. Среди возвращаемых ей данных есть и сведения о занимаемой памяти(структура VM_COUNTERS в примере).
Использование можно подсмотреть здесь: http://rsdn.ru/article/qna/baseserv/enumproc.xml
---------
Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: 9-ый класс)
Ответ отправлен: 28.05.2007, 22:09


Вопрос № 88.948
Здравстсвуйте!

Вопрос простейший, но я никак не могу понять как это сделать и найти что-то ничего не получается..
в общем, как в Си выделяют или устанасливают один бит в байте. нипример в коде Хэмминга надо каждый бит отдельно приверять, как это сделать в Си????

Заранее благодарен
Отправлен: 28.05.2007, 14:09
Вопрос задал: Петров Раман Владимировкич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: kool
Здравствуйте, Петров Раман Владимирович!
Чтобы установить n-ый бит в байте можно использовать
такую функцию

void set_bit(unsigned char byte, unsigned char n){
byte|=(1 << n);
}
Теперь в byte n - ый бит точно будет установлен в 1.
Если нужно проверить значение n-го бита пишем так:
byte&=(1 << n);
return byte;

Удачи!

Исправлено по уточнению автора в минифоруме. Alexandre V. Tchamaev
---------
I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 28.05.2007, 19:58

Отвечает: Ilkras
Здравствуйте, Петров Раман Владимировкич!
очень просто.
char a = 1; //8 битное число 00000001
char b;// например 10011111
теперь проверим 3-й бит в другом числе
сдвигаем бит влево на 2 позиции, теперь он 3-й; сравниваем третьи биты двух чисел (в числе "а" все биты кроме третьего нули, так что операция "и" с ними даст тоже нули, таким образом мы получаем значение только для искомого 3-го бита)
if((a<<2)&b)
printf("третий бит установлен ");
else
printf("третий бит не установлен ");

ответ будет - бит установлен
Ответ отправил: Ilkras (статус: Студент)
Ответ отправлен: 28.05.2007, 23:06


Вопрос № 88.974
Доброго времени суток!
Как из файла прочитать текст (текс на русском) и вывести его на экран. Желательна поддерка Unicode. Это должно напоминать credits в играх или программах.
Програмирую в MS VS 2003, WinAPI
Жалательно приложить код простинькой программы
Отправлен: 28.05.2007, 17:18
Вопрос задал: Solowey (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: kool
Здравствуйте, Solowey!
А так и читай - в память по байтам,
а потом можно использовать одну из ф-ций,
например, WideCharToMultiByte(...),
MultiByteToWideChar(...).Подробности в MSDN.
Удачи!

---------
I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 28.05.2007, 19:58
Оценка за ответ: 3

Отвечает: Ilkras
Здравствуйте, Solowey!
самый простой способ - пользование стандартными функциями fgets(), puts() - считывает из файла строку и пишет строку на консоль.

Приложение:

Ответ отправил: Ilkras (статус: Студент)
Ответ отправлен: 28.05.2007, 22:57
Оценка за ответ: 5


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

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

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

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

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


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


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

В избранное