![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
лог файл вести довольно просто если если дописывать в конец и т.д. но если програ вырубаеться и не достигает клоза... то тут данные на винт не попадают...
что предложите -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Step
Я всегда делал так: 1. Открываю для append 2. Записываю 3. Закрывю иначе при сбое получается облом. -------------------- Да. Именно так. |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Дрон, это решение в лоб, правильно работает, но я знаю что есть какаято технология, вот только какая не помню
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Step
Хмм... было бы самому интересно. Прога на С++, под Windows? Консольная или ГУИ? Добавлено @ 12:49 Можно, кстати, воспользоваться стандартным Event Log виндовоза. Посмотри в МСДН: logging events -------------------- Да. Именно так. |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Дрон, сенкс, посмотрю.....
под винду пишу -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
я, может чего недопонимаю, но FlushFileBuffers() после каждого события -- самое оно...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Может что-то завязанное на исключениях(SEH или C++) попробовать сделать?
--------------------
|
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
_hunter, сенкс
Добавлено @ 16:09 chipset, да это полюбому будет, но позже и с дампами и т.д.. а пока нужно просто лог вести -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| HELPER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 18.4.2005 Репутация: -2 Всего: -2 |
а можно флюшить поток после каждого ввода в файл, или я не прав???
Добавлено @ 16:55 имел ввиду:
Добавлено @ 16:56 черт, то есть fflush(f); |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 3 Всего: 317 |
есть разные опции открытия файла.
есть такая writethrough . тебе нужно writethrough. это значит, что каждый write() будет записан сразу на диск. ессно возможен вариант смерти во время написания. тогда нужно как-то обозначать смерть процесса, или каждую запись обозначать каким то сочетанием букв. пока. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Step
Ты имеешь ввиду, если у проги во время работы не обработанное ею исключение вылезет ? Ну тогда выход один просто обработать это исключение, в теле обработки поставь закрывание файла, кстати будет удобнее, так как можнол будет сообщить об ошибке и назвать её абстарктный код...ЗЫ я именно так и сделал в своем классе логирования. Причем вызов flush и ему подобных все-таки притормаживает при больших обьемах, так что думай сам.... |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
En_t_end, это все будет, но пока, надо обойтись
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Step
exception/SEH используй |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |