![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Andrej78 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.10.2006 Репутация: нет Всего: нет |
Доброго времени суток.
Возник такой вопрос: В файл попадают новые строки со сокростью примерно 10 строк в секунду. Если просто загрузить в программу историю процесса за сутки, то всё нормально. Проблема возникает при обработке процесса в реальном времени. пока файл открыт для чтения, он недоступен для записи другой программой (источником данных). Как с этим бороться (нужны все данные)? пока что программка консольная в vs2005, но если придется, переделаю под winapi. да, источник выдает текстовый файл с новыми строками, программа этот файл читает. Это сообщение отредактировал(а) Andrej78 - 9.3.2011, 15:07 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
т.е. у вас есть файл, в который, некоторый процесс с определенной периодичностью дописывает данные?
и вы хотите, что некоторый другой процесс, мог обрабатывать добавленные данные в реальном времени? |
|||
|
||||
| VictorTsaregorodtsev |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 1 Всего: 8 |
Прога-источник - Ваша? В смысле - её исходники можете изменить?
Если да - то при создании (или открытии на запись) там файла поставьте атрибуты, допускающие расшаривание доступа к нему. В ВинАПИ это делается с использованием функции CreateFile, может, и в MFCшных классах для доступа к файлам можно будет нужный атрибут задать. А читающая прога переделки требовать не должна (если гарантированно запускать её после запуска проги-источника). Если очередность запуска этих двух прог может меняться - то и в проге-читалке надо подшаманить момент открытия файла. Если же прогу-источник изменить нельзя - то всё сложнее (не могу сказать, реализуемо ли - не такой уж спец в ВинАПИ, чтобы ответить сразу, а не после раскопок в МСДН). Поскольку проблема одновременного доступа к файлам и частая, и учебная - то народ, думаю, может помочь с указанием литературы (особенно если в ВинАПИшных разделах программистских форумов поспрашивать). Если не ошибаюсь, то в первых изданиях талмуда Дж.Рихтера (середина-конец 90х) совместный доступ к файлам разбирался (сейчас открыл четвертое издание 2001г - там только про совместный доступ к проецируемым в память файлам, т.е. активно изменяемая книга может полезные Вам вещи содержать только во вполне определенных своих версиях). |
|||
|
||||
| Andrej78 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.10.2006 Репутация: нет Всего: нет |
угу.
сейчас файл открываю вот так:
|
|||
|
||||
| Andrej78 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.10.2006 Репутация: нет Всего: нет |
нет, программа-источник не моя, читалку запускаю строго после открытия первой, но первая скорее всего открывает и закрывает выходной файл по своему желанию.
параметр в fopen_s( &stream_tt, cFile, "r+" )) !=0 ) с "r" поменял на "r+". вроде стало читать все строки. Спасибо. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |