В настоящее время я ищу решение для поиска файлов, которые были добавлены, удалены, изменены или переименованы в каталоге, который я смотрю.
Я использую 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 ++?
Вся помощь оценена.
Большое спасибо.
QFileSystemWatcher
Класс делает то, что вам нужно, хотя он ограничен в своих возможностях. Например, он не предлагает подробных уведомлений о переименовании / перемещении.
Других решений пока нет …