Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
#1

Мониторинг файла? - C++

12.07.2012, 18:49. Просмотров 617. Ответов 13
Метки нет (Все метки)

Здравствуйте, возникла некоторая проблема в создание программы которая бы выполняла некоторые операции с информацией файла,но при условие того что он открыт пользователем в момент работы программы.Выполняется в ОС Windows.
Не мог бы кто поделится соображениями по этому поводу,был бы весьма благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2012, 18:49     Мониторинг файла?
Посмотрите здесь:

мониторинг действий пользователя - C++
Помогите пожалуйста написать программу мониторинг действий пользователя.Или хотя б код проги скиньте. Задачи. 1) Список запуска...

Мониторинг HTTP трафика - C++
Всем здарова, возникла надобность мониторить http трафик и я так понимаю что для этого нужно слушать порты 80 и 8080, как это можно...

Мониторинг каталога на предмет изменения содержимого - C++
Нужно написать функция (или подпрограмму) которая мониторит каталог. Если какой либо файл в каталоге изменился (поменялся размер,...

Мониторинг ошибок в Visual Studio 2013 - C++
Есть какой нибудь аддон на Visual Studio позволяющий расширить мониторинг ошибок? То есть, чтобы если при сборке проекта была ошибка, он...

Написать самую простую программу, которая выводит системные драйвера и их параметры (мониторинг драйверов) - C++
Добрый день. Подскажите, пожалуйста, как написать самую простую программу, которая выводит системные драйвера и их параметры?

Мониторинг файла - C Linux
Добрый день. Может кто подскажет - есть контроллер под Linux ARM У него одна из лап заведена на шину прерывания. Состоянию этой...

Постоянный мониторинг файла - PHP
Добрый день. С php мало знаком, потому пишу на коленке. Целью является при возникновении определенного события перезаписать нужную строку в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
12.07.2012, 19:06
  #2

Не по теме:

Mindz, твоё задание настолько же пространно как если бы попросить рассказать о перспективах квантовой телепортации функции состяния атомов гелия. Конкретно напиши что за файл и что с ним хочешь делать?

Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:14  [ТС]     Мониторинг файла? #3
Не думал что квантовая механика,может вызвать столь бурную аналогию.
Программа производит операцию считывания даты изменения файла,после чего проходить еше много процессов но суть их одна,они должны выполнятся при условие того что просматриваемый файл открыт пользователем в данный момент( в момент работы программы, то есть программа автоматом мониторит процесс).
вот такое не прокатит
C++
1
2
3
4
5
6
ifstream File("File.dat");
 
while( File.is_open() ) {
         someFunction();
         ........
}
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,283
Записей в блоге: 17
12.07.2012, 19:19     Мониторинг файла? #4
1. Тип файла?
2. В какой программе будет открываться файл пользователем?
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:21  [ТС]     Мониторинг файла? #5
.MPQ архив, открыт может быть чем угодно.
-=ЮрА=-
Заблокирован
Автор FAQ
12.07.2012, 19:26     Мониторинг файла? #6
Mindz, посмотри в сторону FindFirstChangeNotification, тут есть код http://www.cyberforum.ru/visual-cpp/...ml#post2008026
(правда он немного другие цели приследовал)
pianist
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 56
12.07.2012, 19:32     Мониторинг файла? #7
у меня похожее...
Вот есть файл текстовый. Нужно считать пробелы и выводить их текущее количество по запросу, а файл еще пишется. Если же файл перестает редактироваться, нужно вывести итог и завершиться.
Поправка: файл редактируется пользователем из вне.
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:35  [ТС]     Мониторинг файла? #8
Что значит пишется?
Чем он у вас пишется инородной программой?
pianist
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 56
12.07.2012, 19:37     Мониторинг файла? #9
да, инородной. не моей.
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:45  [ТС]     Мониторинг файла? #10
Шас почитаю литературку,придумаем что нить.

Добавлено через 6 минут
рожать надо в эту сторону FILE_NOTIFY_CHANGE_SIZE
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,283
Записей в блоге: 17
12.07.2012, 20:00     Мониторинг файла? #11
.MPQ архив, открыт может быть чем угодно.
Думаю задача не реализуема...
Т.е. некоторые программы не блокирую открываемые ими файлы, а некоторые блокируют и тут облом.

Но честно говоря я плохо понимаю что именно требуется? что реализовано? и с чем проблемы?

Добавлено через 5 минут
рожать надо в эту сторону FILE_NOTIFY_CHANGE_SIZE
А что при открытии файла его размер меняется?
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 20:09  [ТС]     Мониторинг файла? #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <windows.h>
 
 
void setRevision();
void setDate( const char* );
void getFile( const char* );
 
int Revision = 0, Date = 0;
 
using namespace std;
 
int main( int argc, char *argv[] )
{   
    system("COLOR E");
    system("TITLE Revision Maker v 1.0.0");
    
    char Path[100], exit, change;
    
     cout << "\2" << endl;
            
    do {   
        cout << "\nInput your file name (file.dat):";
        cin >> Path;
        
        fstream File( Path );
        
        if( !File.is_open() ) {
            cout << "Wrong Path to directory file!" << endl;
            break;
        }
        
        while(ВОТ сюда надо впихнуть условие при котором проверяется открыт ли сейчас файл пользователем ) {
                 setDate( Path );
                 getFile( Path );
        }
        cout << "Revision: " << Revision << endl
             << "FileName:" << Path << endl;
             << "\nTo finish a program runtime?(Y\N):" << endl;
        cin >> exit;     
    } while( exit != "Y" || exit != "y" );
    
    cout << "bye, i see you later dev :)";
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
void setDate( const char* file )
{
    struct _stat st;
    
    _stat( file, &st );
    
    Date = st.st_mtime;
}
 
 
void setRevision()
{ 
    Revision++;
}
 
void getFile( const char* name )
{
    int buff_revision, buff_date;
     
    fstream Revision_File( "Revision.ini" );
    
    if( !Revision_File.is_open() ) {
        ofstream New_File( "Revision.ini" );
        New_File << "[Information]" << endl
                 << "Revision=" << Revision << endl
                 << "Date=" << Date << endl
                 << "File=" << name << endl;
    } else {
            buff_revision = GetPrivateProfileInt(
                                                 "Information",
                                                 "Revision",
                                                 0,
                                                 "C:\\Dev-Cpp\\Projects\\RevisionMaker\\Revision.ini" 
                                                );
            buff_date = GetPrivateProfileInt(
                                             "Information",
                                             "Date",
                                             0,
                                             "C:\\Dev-Cpp\\Projects\\RevisionMaker\\Revision.ini" 
                                            );
            Revision = buff_revision;                                                    
            if( buff_date < Date ) {
                setRevision();
                Revision_File << "[Information]" << endl
                              << "Revision=" << Revision << endl
                              << "Date=" << Date << endl
                              << "File=" << name << endl;                          
            }           
      }
      Revision_File.close();         
}
Добавлено через 7 минут
Файл то меняется но вот вопрос как?Скорее всего данная функция не поможет.
pianist
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 56
12.07.2012, 20:34     Мониторинг файла? #13
А винда по этому поводу случайно никаких сообщений не кидает?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 20:38     Мониторинг файла?
Еще ссылки по теме:

Мониторинг наличия файла - C#
Здравствуйте! необходимо организовать консольное приложение, которое осуществляет мониторинг наличия файла. Есть код котрый осуществляет...

Реализовать мониторинг модификаций файла - C#
Добрый день. Нужна помощь при работе с файлами. Суть в следующем - есть текстовый файл. При изменении в нем должны выводиться эти...

Мониторинг изменений текстового файла - Delphi
Добры день. Помогите с кодом, необходимо проверять на изменение теста файл(txt) с интервалом 1 сек на заданном периоде времени. Пишу...

Оптимальный мониторинг изменения файла - Visual Basic
Здравствуйте! Сторонняя программа записывает информацию в txt файл, как можно сделать, что как только Vb обнаруживает изменения в тхт , он...

Мониторинг файла, создаваемого другим приложением - Delphi
Приветствую! А подскажите, пожалуйста, кто-нибудь!? Есть программка (основная). При ее работе, создается файлик в котором прописывается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 20:38  [ТС]     Мониторинг файла? #14
Да вроде нет,шас вот эту статью читаю,скорее всего она поможет решить проблему http://wasm.ru/article.php?article=lockfileswork
Yandex
Объявления
12.07.2012, 20:38     Мониторинг файла?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru