現在、関数を使用して取得したHANDLE
でファイル情報を取得する機能は、基本的にはGetFileTime機能を使用するレガシーアプリケーションコードのバグを修正しようとしています。C++でロックされたファイルから作成、最終アクセス、最終変更時刻を取得する
SQL Server
によって開かれた*.ldf
と*.mdf
のような他のプロセスによって既に開かれているファイルを処理しようとすると問題が発生します。ファイルHANDLE
を取得しようとすると、エラーがスローされます。コードのその部分は、我々はファイルのサイズを取得し、使用して
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
path filePath("path/to/the/file.ext");
std::cout << file_size(filePath) << "\n"; // Getting file size
std::cout << last_write_time(filePath) << "\n"; // Getting write/modified time
:別の方法として
が、私はboost
ライブラリがプロジェクトに依存関係として使用されていることに気づいたので、私は次のコードサンプルの作業を見つけました最後の書き込み時間。しかし、
には、作成された最終アクセス時刻がまだ必要です。どのように私はそれを達成することができますどのアイデア?
ええええええ、彼らは間違いなくこの欠けている機能を追加するパッチをあなたから歓迎します。一方、代わりにFindFirstFile()を使用してください。ハード・ロックされ、dbaseエンジンによって継続的に更新されるファイルのこれらのプロパティーを取得することは意味がなく、特にファイル・サイズと最終アクセス時間は非常に遅れて更新されることに注意してください。確かに良い方法がありますが、「理由」なしで推測することは不可能です。 –