|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.10.2009, 20:52 | #1 |
Пользователь
Регистрация: 08.10.2009
Сообщений: 14
|
Как оперативно считать данные из txt файла
Помогите пожалуйста, проблема такая, мне нужно считать данные из txt файла который постоянно пополняется новыми данными. Я могу считать данные лишь на момент открытия этого файла, а новые данные после открытия не считываются. Как мне написать код так чтобы новые данные сразу же отражались в программе.
|
08.10.2009, 20:58 | #2 |
Пользователь
Регистрация: 08.10.2009
Сообщений: 14
|
На сегодняшний момент имею код:
#include <iostream.h> #include <fstream.h> void main (void) { int kol_str = 0; ifstream file("File.txt"); char line[45]; while (! file.eof()) { kol_str++; file.getline(line, sizeof(line)); cout << kol_str; cout << line << endl; } } |
09.10.2009, 00:22 | #3 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 525
|
т.е ты хочешь запустить свою прогу, потом открыть блокнотом файл и как только ты введешь что-то и сохранишь - это сразу же отображалось в проге?
с теми знаниями что у меня есть сейчас я бы попробовал отследить состояние файла, например размер в байтах если не изменился значит ничего выводить не надо, если изменился вывести что-то |
09.10.2009, 00:50 | #4 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 525
|
вот примерно так это можно сделать, (это просто пример, под свой код сам правь)
Код:
но мне лень этим заниматься |
09.10.2009, 00:52 | #5 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Так и есть - только циклом. Открыть файл в немонопольном (т.е. что бы другое приложение могло записывать в него) режиме и "бесконечным" циклом читать его, получая свежие данные.
Небольшая задержечка, разумеется, будет. Код выше Последний раз редактировалось oleg kutkov; 09.10.2009 в 00:55. |
09.10.2009, 08:38 | #6 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Такая штука есть в фаре - он обновляет в просмоторщике все изменяемые файлы. По-моему, есть какая-то функция WinAPI, отслеживающая изменения файлов. Но если сложности не нужны, подойдет предложенный вариант.
|
09.10.2009, 19:10 | #7 |
Пользователь
Регистрация: 08.10.2009
Сообщений: 14
|
Спасибо всем кто ответил. Час буду переваривать вышеизложенный материал.
|
09.10.2009, 22:31 | #8 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 525
|
тот код какой-то слишком враждебный получился, вот нормальный сделал
как раз наткнулся тут на полезную функцию tellg() с помощью которой можно определить размер файла гораздо проще получилось вот что Код:
|
10.10.2009, 12:40 | #9 |
Пользователь
Регистрация: 08.10.2009
Сообщений: 14
|
Спасибо mOnax, твой первый код мне подходит больше, вот если бы еще он выводил только то что добавилось было бы вообще здорово. И еще вопросик, че-то я недогнал зачем нужен оператор Sleep(2000);
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамически считать Данные из файла, и вывести результат в файл | StudeHt | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 25.05.2009 09:04 |
Как считать данные с БД в WebBrowser? | tsergey | Общие вопросы Delphi | 14 | 13.04.2009 03:56 |
Как считать с txt? | GaNDyPaC | Общие вопросы Delphi | 20 | 16.01.2009 22:02 |
Как считать данные из Edit? | Svop | Компоненты Delphi | 11 | 20.11.2006 16:45 |
как считать данные с Txt файла? | Alar | Общие вопросы Delphi | 0 | 29.10.2006 20:12 |