qt — C ++ получает имена файлов, вызывающих уведомления об изменении каталога

В настоящее время я ищу решение для поиска файлов, которые были добавлены, удалены, изменены или переименованы в каталоге, который я смотрю.

Я использую C ++ QT 5.1.1 в Windows 7. Однако было бы неплохо «относительно» решение для системной независимости. Я просмотрел QT, который предлагает только DirectoryWatcher, показывающий мне, изменился ли каталог — НЕ — ЧТО изменилось. (Мне нужна какая часть). POCO предлагает то же самое в области своей файловой системы. Boost, кажется, не поддерживает это ни.

В MSDN: http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.created(v=vs.110).aspx

Взятый из примера:

 // Define the event handlers.
static void OnChanged( Object^ /*source*/, FileSystemEventArgs^ e )
{
// Specify what is done when a file is changed, created, or deleted.
Console::WriteLine( "File: {0} {1}", e->FullPath, e->ChangeType );
}

static void OnRenamed( Object^ /*source*/, RenamedEventArgs^ e )
{
// Specify what is done when a file is renamed.
Console::WriteLine( "File: {0} renamed to {1}", e->OldFullPath, e->FullPath );
}

Есть ли способ использовать это в моем приложении QT или есть более «естественный» подход C ++?

Вся помощь оценена.
Большое спасибо.

0

Решение

QFileSystemWatcher Класс делает то, что вам нужно, хотя он ограничен в своих возможностях. Например, он не предлагает подробных уведомлений о переименовании / перемещении.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]