Здраствуйте! Вот такое задание: вывести в файл время работы программы (неважно какой - например, программы выводящей на экран текстовое сообщение и ждущей нажатия любой клавиши для завершения работы)..Приведите пожалуста пример, как реализовывается такое задание, как узнать, сколько работала программа и как вообще осуществляется вывод в файл?
И ещё такой вопрос: как на экран, пока работает программа можно выводить системное время?
1. Реализация времени зависит от ОС. Поэтому без ее указания ответить на вопрос невозможно.
2. Чтобы узнать, сколько работала программа, определяется время перед началом ее работы и после окончания, а потом из второго вычитается первое.
3. Интересует файловый вывод вообще или как вывести конкретно время? Файловый вывод тоже определяется ОС.
4. Периодически запрашивать время и обновлять его на экране. Помню, в DOS писал функцию, которая одновременно опрашивает клавиатуру и обновляет показания времени. В Windows время лучше выводить по прерыванию таймера.
1. Windows XP
2. А как это самое время узнать?
3. с файловым выводом впервые сталкиваюсь, так что интересует как и он сам, так и вывод именно времени работы.
1-2. Если к точности не предъявляются слишком высокие требования, то GetTickCount будет достаточно. Погрешность - десяток или несколько десятков мс. Если требования к точности очень высокие, то QueryPerformanceCounter/QueryPerformanceFrequency, но есть целый букет недостатков.
3. CreateFile, WriteFile, CloseHandle.
andriano, на ассемблере?...
18192123, у меня про ввод-вывод (в том числе файловый) есть методичка. могу кинуть, если хочешь
Да хотя бы и ручками распихать стек и call нужную процедуру. (в WinAPI вызовы производятся в стиле Паскаля, т.е. параметры запихиваются в стек в обратном порядке - в вершине стека лежит последний, а стек освобождает вызываемая процедура)
Нашла функцию, которая отвечает за получение времени:
mov AH, 2Ch
int 21h
mov AH, 2Ch
int 21h
Хммм всегда смущали подобные темы связанные с выполнением подобной элементарщины.
А если написать на C код (десяток строк с применением WinAPI) и попросить компилятор сгенерировать листинг на ассемблере?